实时操作系统μC/OS-II在51单片机上的移植
点击数:7387 次 录入时间:03-04 11:49:30 整理:http://www.55dianzi.com 51单片机
4.5 周期节拍中断函数OSTICkISR()
这个函数是给系统提供一个节拍,一般每秒10~100次。如果节拍频率太高,μC/OS系统会占用大量硬件资源;如果太低,任务间的切换又会很慢。
此函数首先要保证产生一个周期性的中断,可以使用硬件定时器,也可以从交流电中获得50/60Hz的时钟频率。这个函数至少要做3件事:1)进入中断时,把中断嵌套层数计数器加1,说明又进入一次中断,也可以直接调用OSIntEnter()函数;2)调用时钟节拍函数OSTimeTick(),告知系统又经过了一个节拍;3)调用OSIntExit()函数,说明要退出中断了,此函数会自动处理。
5 结束语
文中阐述了在堆栈空间有限的51单片机上运行μC/OS-II系统的移植过程,利用系统栈SP作为数据交换的枢纽。在实际应用中,如果用系统栈来移植,只需根据文中的基本思想进行适当的改写,即可运行于其他处理器上。如果处理器的堆栈指针寻址空间足够大,也可以为每个任务开辟一个栈,通过改变堆栈指针指向不同任务的栈空间,来实现任务调度。
通过在51单片机上的运行,可以看出μC/OS-II也能在堆栈空间比较少的CPU上运行。
上一页 [1] [2]
本文关键字:单片机 操作系统 51单片机,单片机-工控设备 - 51单片机