515300276 发表于 2020-8-14 21:38:25

RTX事件标志组不能多任务之间使用

不能像ucos中那样多个任务之间使用,在功能函数函数里面使用了事件标志组,可能会多个任务调用,使用就会出现问题。好像没什么好的办法解决,现在只能使用信号量再转一次:L

eric2013 发表于 2020-8-14 21:52:18

RTX4里面的这种事件标志是直接面向任务的高效事件标志处理机制。

那个任务在等待标志,直接向那个任务设置即可。类似的,uCOS-III里面是任务消息队列,任务信号量,同样的道理。

而你想要的是那种通用的事件标志,这种的在RTX5里面增加了。

515300276 发表于 2020-8-14 21:57:38

eric2013 发表于 2020-8-14 21:52
RTX4里面的这种事件标志是直接面向任务的高效事件标志处理机制。

那个任务在等待标志,直接向那个任务设 ...

用惯了ucos,还有点不习惯这个东西,好多不一样的地方,以前的代码移植过来中断里面打印都会硬件错误:dizzy:,不支持那也没法再想办法用其他方法改改,谢谢

515300276 发表于 2020-8-14 21:59:48

eric2013 发表于 2020-8-14 21:52
RTX4里面的这种事件标志是直接面向任务的高效事件标志处理机制。

那个任务在等待标志,直接向那个任务设 ...

不过按理说isr_evt_set(DMA_TX_END, 2/*os_tsk_self()*/);后面这个ID,我用os_tsk_self()也该是可以才是,不知道怎么回事用这个就硬件错误了

eric2013 发表于 2020-8-15 01:20:08

515300276 发表于 2020-8-14 21:59
不过按理说isr_evt_set(DMA_TX_END, 2/*os_tsk_self()*/);后面这个ID,我用os_tsk_self()也该是可以才是 ...

注意RTX的API是分中断里面调用和任务里面调用两种。

你在中断里面要调用以ISR结尾的API
页: [1]
查看完整版本: RTX事件标志组不能多任务之间使用