STM8L_15_Contiki_OS_LED:
1.Contiki:Contiki OS所需文件
2.User:工程及main文件
3.Hardware:LED,CLK,Wag
4.STM8L15x_StdPeriph_Driver:STM8自带库文件
5.Debug:hex文件存放于EXE文件夹
6.readme: 使用Contiki OS 进行LED闪烁


Contiki OS仅需2KB RAM和40KB ROM,是开源的、高可移植的、支持网络的多任务操作系统,包括一个多任务核心、TCP/IP 堆栈、程序集以及低能耗的无线通讯堆栈,很适合LoRa、NB-IoT等无线传感器网络。
这里用仅仅Contiki实现LED闪烁。
/********************************************************************************* @file main.c* @author Alex——小白* @version V1.0* @date 2019.5.1* @brief LED Blink By Contiki OS* @store 有家Proteus仿真店子* @Link https://shop484534014.taobao.com/* @Email 844545015@qq.com******************************************************************************* @attention All Rights Reserved**/#include <string.h>#include <stdio.h>#include "contiki.h"#include "etimer.h"#include "stm8l15x.h"#include "LED.h"#include "CLK.h"PROCESS(blink_process,"Blink"); //申请一个进程AUTOSTART_PROCESSES(&blink_process,);PROCESS_THREAD(blink_process,ev,data) //LED0 Blink/s 函数,是进程的方法{PROCESS_BEGIN(); //进程开始while(1) //一个进程就是一个死循环{static struct etimer et; //申请一个etimer结构体,切勿去掉staticetimer_set(&et,CLOCK_SECOND);PROCESS_YIELD(); //进程自我阻塞,当外部消息(此处为定时器中断)刺激才触发if(PROCESS_EVENT_TIMER == ev) //判断消息是否etimer的1s超时{LED1_Toggle();LED0_Toggle();etimer_restart(&et); //重启et,为下1s定时}}PROCESS_END(); //进程结束}void main(void){/* Initialize hardware */CLK_HSI_Config(CLK_SYSCLKDiv_1); //CLK initLED_Init(); //LED initclock_init(); //Systerm Tick/* EXPLAIN: enable INT before initialize process! */enableInterrupts();/* Initialize contiki system */process_init();process_start(&etimer_process, NULL);autostart_start(autostart_processes);while (1){while (process_run() > 0){;}}}
如需下载Proteus仿真文件和Keil工程,请关注公众号:
Proteus仿真店子
(若IAR IDE编译器以及驱动,后台回复:IAR;若STM8L相关参考文档,后台回复:STM8L手册;若需其它设计,后台回复:STM8L设计)

最后
以上就是健康煎蛋最近收集整理的关于STM8L151C8单片机学习例程(15)——Contiki_OS_LED的全部内容,更多相关STM8L151C8单片机学习例程(15)——Contiki_OS_LED内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复