嵌入式学习小组
直播中

李文

7年用户 165经验值
私信 关注

为什么任务跑起来直接进入了while(1)出不来了?

我建立了2个相同优先级的任务,一个任务里是while(1);死循环,另一个是闪烁灯, 为什么任务跑起来直接进入了while(1)出不来了?不是有时间片轮询吗?

回帖(5)

李元宵

2019-7-24 08:18:10
1、如何设置数据包格式,这个就是你自己做的工作,根据实际情况设计通信协议
2、任务设计成模块化的,每个人有每个人不同的设计方法,你可以先自己设计一个,看看能不能运行,然后后面在修改
3、一般把你认为紧急的任务的优先级调高一点。
举报

牛晓渊

2019-7-24 08:35:33
时间片轮转打开了没有?时间片设置了没有?请参考我们的UCOSIII教程中时间片轮转调度章节。
举报

李琴

2019-7-24 08:48:59
求教:有一个使用UART进行通信的子系统X,其中UART0进行数据包接收和回复,UART1进行数据包转发。子系统X的通信模块职责是从UART0接收数据包,如果为本地数据包(receiver为子系统X),则解析数据包中的命令码(2字节)和数据域(0~128字节),根据命令码调用内部的处理程序,并将处理结果通过UART0回复给发送端,如果非本地数据包,则通过UART1转发。
设计子系统X的通信模块:
1)怎么设计通信数据包格式,各字段的定义;
2)在一个实时操作系统中,如何部署模块中的任务和缓存数据,
3)如何设置任务的优先级,说说优缺点;
如果将命令码对应的处理优先级分为高、低两个等级,又如何设计;
举报

李英健

2019-7-24 09:07:52
好的,十分感谢您!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分