中级会员
 
- 积分
- 280
- 金钱
- 280
- 注册时间
- 2015-6-11
- 在线时间
- 56 小时
|
10金钱
有触发事件1/2/3有需要回复的通过串口发送给指定下位机的指令A/B/C/D
要求:
平时不间断一次执行D,因为是通过串口中断接收和发送,所以不会影响其他代码的执行
当事件1/2/3发生时,分别执行指令A/B/C(优先级A>B>C>D),为了确保下位机收到执行,需要执行多次(10次,400ms一次),直到10次执行完毕或下位机回复为止(正常只需执行一次即可收到回复,取消执行)
若事件1/2/3连续发生时,也需保证执行D的执行,每执行2次指令A/B/C,需插入执行一次指令D
遇到的问题:
之前没有用UCOSIII系统的时候,是把它放到一个4ms的扫描任务中,可以很方便的解决,现在换成UCOS系统,如果放到一个4ms的定时任务中,或者整体放到一个任务中,并且结尾延迟4ms切换任务,也可以解决,但这样就跟我原来没有什么区别,我用系统就没有意义了。
目标:
我想用一个事件标志组来代替原来为指令A/B/C/D定义的执行次数变量,试了几次方法都不能实现,而且代码变得很多,没有之前干净了。请大神帮忙
|
|