嵌入式学习小组
直播中

王璐

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

使用信号量共享资源后串口助手的运行结果不一样

原子UCOSIII例程,例10-2 UCOSIII使用信号量访问共享资源区中,task1串口输出“任务1”之后,有成功请求到信号量,将“First task Running”拷贝到共享内存中,之后通过延时delay_ms切换到task2。那么问题来了,我认为程序进入task2之后应该从头开始先串口输出“任务2”,填充区域颜色之后再请求信号量,发现没有请求到,再切换回任务1,任务1再输出“First task Running”给串口啊。那为什么串口助手的运行结果是
任务1
First task Running
任务2
Second task Running
而不是我刚才分析的结果,串口助手输出如下:
任务1
任务2
First task Running
Second task Running
为什么我的分析是错误的,感谢各位大神。

回帖(8)

张琴

2019-10-22 07:57:34
这个东西比较绕,从任务的第一次运行开始分析吧
举报

刘斯宁

2019-10-22 08:03:29
嗯,下载后的结果为第一个结果。我想问的是为什么不是我分析的第二个结果,非常感谢
举报

李鸾

2019-10-22 08:10:49
这个东西比较绕,从第一次进入任务开始分析吧,这个麻烦一句一句的给你讲。
举报

刘一

2019-10-22 08:25:15
只能提醒你注意一下task1和task2中的OSTimeDlyHMSM()这个延时函数
举报

更多回帖

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