HC32F4A0 的AOS控制问题
我在看官方的串口DMA例子时,发现使用了AOS来触发DMA重新接受数据函数:AOS_SW_Trigger();我发现DMA配置中配置了软件触发,在串口超时中断里,接收超时后,会调用上面的函数,来出发软中断,我看源码是会触发所有配置过AOS的事件吧?如果这样的话,那就有问题了,如果我其他串口也配置了串口超时中断,在另一个串口传输时,触发了超时中断,那也会调用上面的函数来重置DMA接收,这样不就相互干扰了吗?
有小华的大佬,或者官方的人解释一下嘛,可能我理解的不对
看我最近一条评论 只是个新人- 发表于 2023-11-30 09:27
看我最近一条评论
评论了啥 我现在使用的是如下方法,没验证多串口时,是否会发生冲突
(void)DMA_ChCmd(RX_DMA_UNIT, RX_DMA_CH, DISABLE); //写参数时,先失能通道
DMA_SetDestAddr(RX_DMA_UNIT, RX_DMA_CH, (uint32_t)Attitude_Rx);//重新设置指针地址
DMA_SetTransCount(RX_DMA_UNIT, RX_DMA_CH, Attitude_FRAME_LEN_MAX); //重新设置传输大小
(void)DMA_ChCmd(RX_DMA_UNIT, RX_DMA_CH, ENABLE); //开启使能通道
USART_FuncCmd(Attitude_UNIT, USART_RX, ENABLE); //清空标志
页:
[1]