打印
[GW低功耗蓝牙MCU]

GW3323 OS使用记录

[复制链接]
111|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LIZARD925|  楼主 | 2025-4-14 17:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当两个线程优先级相同时,两个线程的while(1)中,必须要使用 delay_5ms(),给两个相同优先级的线程相互打断的时间,不然会卡死在一个任务中,退出不了,如图为相同优先级的例程,:



当两个线程一个为高优先级,一个为低优先级时,高优先级的的delay_5ms()的时间,为低优先级程序运行的时间,如低优先级没运行完,也会被高优先级的任务打断,故需在高优先级处留够足够多的时间,如图,高优先级留50ms的时间给低优先级:



主函数任务优先级为12,故,此时程序也可跑到主函数中,usb的枚举与数据传输都没问题,只是会慢很多

重要的一点:如果要在线程中更改蓝牙的相关东西,那么线程的优先级不能比蓝牙的优先级高

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝