5013
1万
3万
版主
使用特权
222
4万
技术总监
24
1038
3272
中级工程师
开玩笑呢,信号就是用来唤醒等待任务进入就绪态的,能不切换成功?调度器是干什么的? 发送完SIG后,执行 os_switch_task( ); ( RTX51 Tiny_2.02版)。 刘前辈 发表于 2011-12-22 18:11
是tiny还是full呢 tiny本身不支持抢先任务切换,只能超时切换,或者主动放弃CPU切换任务 ayb_ice 发表于 2011-12-22 15:19
没有看到有os_switch_task( ); 这个函数哦...
send_sig.JPG (156.71 KB )
下载附件
2011-12-23 08:42 上传
用的是 tiny 版的... 难道信号SIG没有? ningling_21 发表于 2011-12-22 20:37
LZ 多半加了os_switch_task()也是仍然悲剧,其实不是RTX51不切换,而是你的发信号任务受升级程序影响,根本就没发出信号。 刘前辈 发表于 2011-12-23 12:43
呵呵,白学了? 90516 、、 刘前辈 发表于 2011-12-23 08:42
另。升级程序应该不会影响发送信号。因为在串口收到数据后就会发信号,等本任务结束使系统切换到下一个任务(等待信号的任务)。 问题出在:升级完成,MCU复位以后和上位机通信不上了...
5
341
1042
助理工程师
处理(或证实)很简单,—— 任何时候,都是下位机从站先开机,待升级完成后,上位机主站再延迟最后开机。 、、 刘前辈 发表于 2011-12-24 09:31
你这程序结构看了有点晕啊 一个简单的串口用了这么多东西,一个简单队列就搞定了 任务2 有时可能会等待了两次K_SIG,但只看到一次发信号,这逻辑肯定有问题 ... ayb_ice 发表于 2011-12-27 09:15
当把发送数据里的等待信号部分去掉,修改发送子程序后,反而通信一次以后就再也通信不上了。
发表回复 本版积分规则 回帖后跳转到最后一页
发帖类勋章
时间类勋章
等级类勋章
人才类勋章
17735
51
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号