-
GD32C103通过DMA进行485通讯的数据收发
[i=s] 本帖最后由 yange1999 于 2025-9-19 17:20 编辑 [/i] [color=#444444][backcolor=rgb(221, 221, 221)][font="]GDx芯片通过DMA进行485数据的收发,目前发送没问题,接收不到数据,通过[/font][/backcolor][/color][font=Microsoft YaHei, Tahoma, Helvetica, sans-serif][color=#444444][backcolor=rgb(221, 221, 221)] [/backcolor][/color][/font] [font=Microsoft YaHei, Tahoma, Helvetica, sans-serif][color=#444444] if(usart_interrupt_flag_get(Port->USARTx, USART_INT_FLAG_IDLE) != RESET)[/color][/font] [font=Microsoft YaHei, Tahoma, Helvetica, sans-serif][color=#444444]{ [/color][/font] [color=rgb(68, 68, 68)][backcolor=rgb(221, 221, 221)][font="] void)(temp = USART_STAT(USART1));[/font][/backcolor][/color] [font=Microsoft YaHei, Tahoma, Helvetica, sans-serif][color=#444444][backcolor=rgb(221, 221, 221)] (void)(temp = USART_DATA(USART1)); [/backcolor][backcolor=rgb(221, 221, 221)] (void)temp; [/backcolor][/color][/font] ..... [font=Microsoft YaHei, Tahoma, Helvetica, sans-serif][color=#444444]} [/color][/font] [color=#444444][backcolor=rgb(221, 221, 221)][font="]读取状态寄存器、数据寄存器来清除空闲中断标志,状态寄存器报错,也有链接头文件的,有大佬知道还要啥好的办法清除这个状态寄存器不?[/font][/backcolor][/color] [color=#444444][backcolor=rgb(221, 221, 221)][font="] 发送和接收的DMA驱动差不多,就只有内存地址和方向不一样,485的驱动也确定没问题,不用DMA接收可以正常接收数据,还有什么原因会导致接收不到数据[/font][/backcolor][/color]
6252浏览量 2回复量 关注量 -
N32WB031的DTM_Test只能用h4tl来实现数据收发吗? sos
需要将接收灵敏度测试移植到应用程序,发现例程中接收数据这部分使用h4tl来做的,串口收数据没有用sdk中的驱动方法。怎么只把关键代码移植出来?
1078浏览量 0回复量 关注量 -
单片机同时使用两个串口进行数据收发怎么才能不丢数据?
stm32使用两个串口同时进行数据收发,目前处理方式是两个串口接收使用DMA+空闲中断方式,发送使用轮询发送方式,接收数据之后两个串口的数据分别放入两个不同的队列,再出队进行发送。目前还是会丢数据,不知道有什么方法可以不丢数据
13657浏览量 13回复量 关注量