完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在学UCOS,在学软件定时器的时候有些疑问:
1:进入定时器的回调函数后,能不能进行任务调度 2:如果定时时间没有到,能不能强制调用回调函数,并重新开始计时 另外还有一个问题: 原子哥在UCOS移植历程中的为什么要在往串口打印浮点数的时候要进入临界区。5 |
|
相关推荐
15个回答
|
|
1,任务调度是启动系统后,系统自动运行的。软件定时器的任务优先级一般定为前三,回调函数不能执行延时类函数。
|
|
|
|
1:不知道,但是个人感觉在回调函数里进行任务调度没什么意义,回调函数执行完了应该就会进行一次任务调度,
2:OSTmrStop函数的第二个参数有一个可选项,人为停止定时器的时候立即调用回调函数的。 |
|
|
|
2,要搞懂创建软件定时器函数的opt两个选项。有信号量机制引入执行回调函数。
|
|
|
|
附:进入临界区的目的是确保任务执行中不被别的中断事件打断,尤其是修改全局变量或重要代码段时要确保不***扰
|
|
|
|
真正理解软件定时器并不简单,要多仿真多做实例,而且不同的硬件平台有时效果不一样。
|
|
|
|
非常感谢你的耐心解答,我的疑问都解开了,不过遇到一个新问题,就是UCOS系统一旦运行起来之后能不能将它占时停止掉
|
|
|
|
你是说将已启动的os暂停吗?如果是这个意思,有什么意义呢?
|
|
|
|
因为UCOS的时钟最快也就1毫秒,我做运动解算的时候中断频率比较高,经常就进入死机,我已我想停止ucos后再做解算
|
|
|
|
解算放到硬件定时器执行不行吗?再说你把所有任务挂起不就行了吗?
|
|
|
|
软件定时器的优先级是多少,是不是<4?
|
|
|
|
请问软件定时器的优先级是多少,是不是<4?
|
|
|
|
一般设置为前3较好!
|
|
|
|
后来问你那个问题我用的是硬件定时器
|
|
|
|
在哪里设置软件定时器的优先级啊?
|
|
|
|
你怎么解决的?在回调函数理论可以调度吗 还有定时器没到回调函数可以吗
|
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:56 , Processed in 1.278381 second(s), Total 108, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号