看了版主的《苦逼的CPU》,忍不住具体实现一下。

  • LiuYang
  • LV5工程师
  • |      2014-01-09 22:01:23
  • 浏览量 2095
  • 回复:15

真的写的很好,非常生动,好多事情有了操作系统就变得简单了,尤其是多任务(线程)、信号(消息)等。

这里以最简单的步骤实现一个基于操作系统的工程。采用Keil MDK5.0来完成,适用于Keil支持的MCU,当然了,不拘泥于某种MCU,方法是一样的。


创建工程就不说了,创建完成后MDK 5.0多了一个选项,可以选择加入RTOS:


看到那个Keil RTX了吗,选中它就OK了,剩下的就是代码的编写,当然了,也是很简单的:


引用cmsis_os.h后就可以开始工作了,

实现线程函数:

osTimerId hLED1;

void LED1_Callback(void const *arg)
{
  LED_Reversal(LED1);
}
osTimerDef(TimerLED1, LED1_Callback);

创建线程:

hLED1 = osTimerCreate(osTimer(TimerLED1), osTimerPeriodic, NULL);

控制线程:

osTimerStart(hLED1, 100); //100ms闪烁

osTimerStop(hLED1);


完成,就这么简单。


随手写的,很没条理性,只是为了过过发帖子的瘾,呵呵,有不对的地方还请指出。

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:13
betzhu 2014-01-15
學習下
0   回复
举报
发布
闭上眼睛就是天黑 2014-01-10
楼主写的真好啊
0   回复
举报
发布
elone 2014-01-10
哦,原来是杨哥写的。
0   回复
举报
发布
雪狼 2014-01-10
唉唉唉,可惜不是狼哥啊,狼哥正在努力成为大神的路上奋斗呢
0   回复
举报
发布
wengqiang 2014-01-10

支持原创@!!!

0   回复
举报
发布
gtrjolin1986 2014-01-10
LZ是杨哥,不是狼哥
0   回复
举报
发布
elone 2014-01-10

前排!!!这是狼哥写的吗?

0   回复
举报
发布
jldwd 2014-01-10
支持原创!
0   回复
举报
发布
冰山一角 2014-01-10
恩,以前了解过 这个操作系统比较简单 但是实用
0   回复
举报
发布
LiuYang 2014-01-10
是呀,而且使用起来不麻烦,配合Keil提供的库和中间件,好多设备连驱动都不用写了。
0   回复
举报
发布
查看更多
x
收藏成功!点击 我的收藏 查看收藏的全部帖子