uC/OS-II在ARM系统上的移植与实现
来源: 作者: 发布时间:2016-12-30 09:09:00 浏览量:3 多任务应用程序
uC/OS - II 的移植及跑马灯和数码管的实现如下[9 ] :首先是C 语言入口函数Main (所有C 程序的入口) . 它里面包括调用函数ARMTargetInit () 初始化ARM处理器,调用OSInit ( ) 进行uC/ OS - II 操作系统初始化,然后调用OSTaskCreate ( ) 函数创建任务TaskLED 和TaskSEG,最后调用ARMTargetStart () 函数启动时钟节拍中断,并且调用OSStart ( ) 启动系统任务调度,由于在程序当中使用for ( ; ;) ,这是一个永无止境的回路,所以装置可以一直进行下去,直到关闭装置.
void Main(void)
{ARMTargetInit () ;
uHALr printf (″uC/ OS - II # n″) ;
OSInit () ;
Sem1 = OSSemCreate(0) ;
Sem2 = OSSemCreate(1) ;
OSTaskCreate(TaskLED , (void 3 ) &IdLED , (OS STK 3 )
&StackLED[ STACKSIZE - 1 ] , 5) ;
OSTaskCreate(TaskSEG, (void 3 ) &IdSEG, (OS STK 3 )
&StackSEG[ STACKSIZE - 1 ] , 6) ;
ARMTargetStart () ;OSStart () ;
return ;}
4 结语
使用创建好的模板Temp 新建一个工程Temp ,并将模板中的Core 和Assemble 文件夹中的文件加入到工程Temp 中. 1) 新建一个文件Temp. c ,并将其添加到Temp 工程的App 文件夹中. 2) 打开Temp. c文件,添加两个任务,它们的任务处理函数分别为TaskLED() 和TaskSEG() . 3) 在TaskLED( ) 函数中每隔50 个时钟节拍使所有跑马灯闪烁一次(即按顺序亮,然后全亮,最后全灭,顺序循环) . 4) 在TaskSEG() 函数中每隔50 个时钟节拍切换一次数码管显示(循环从0~F 显示) . 5) 编译工程Temp ,如果出错,则进行修改后再编译. 6) 将Temp 下载并运行,看结果. 正确的结果是将每隔1/ 2 s 切换一次数码管显示,每隔1/ 2 s使所有跑马灯闪烁一次. 经持续了2 h试验,没有出现错误,跑马灯和数码管正常运转,结果证明移植成功.
2/2 首页上一页12
嵌入式操作系统μC/OS-Ⅱ在数控系统中的应用
嵌入式操作系统μC/OS-Ⅱ是一个可裁剪、源码开放、结构小巧、抢先式的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高,占用空间小,可移植性强,实时性能优良和可
急寻EE16 立式 5+5加厚骨架 排距14.0这款 PIN距如题,很急,知道的帮帮我,万分感谢谢!!没理解你的意思,你是找这款料,还是找这款骨架的资料?去淘宝上问问呗东莞 洋通电子有谢谢各位了,我找到了,我是想找骨架,哪位有需要可以联系我,
泓格i-7250探讨 请问大师们,用其中的模块+软件+一台电脑 可以组装一套类似示波器和频率计的测量工具吗? 如果可以,选用哪个型号的模块,最高可以测量多少hz的频率范围?