1、函数: HAL_UARTEx_ReceiveToIdle_DMA(&huart1,usart1_dma_rx.RX_Data,USART_DMA_RX_LEN_MAX); __HAL_UART_DISABLE_IT(&huart1, DMA_IT_HT); 2、发送数据包1:be2803036de1000000000000000001000000000000000200000000000000030000000000000082ed 发送数据包2:be1c010146020100000100015000b400141e011e1e281408000020ed 发送间隔50ms以内; 3、接收到的数据包:be1c01016de1000000000000000001000000000000000200000000000000030000000000000082ed 前4个字节:be1c0101属于发送数据包1的; 剩余其他字节:属于发送数据包2的; 问题困扰很久了,请大家帮忙处理下,急急急!!!!!!!!!! |
NUCLEO-H7A3ZI-Q配置RCC出问题
【NUCLEO-H7A3ZI-Q体验&应用】开篇
STM32H743 ADC可采集正弦波的最大频率
stm32h743iit6 新丝印是真的吗
STM32H750的DFU模式进入失败
请问STM32H747XIH6和ST32H747XIH6U有什么区别?
求技术解答,STM32H723的USB模拟U盘应用过程遇到了问题。
H743内置双bank flash 并行处理异常问题
请问有其他芯片有STM32H754I-DISCO的AI视觉包或类似功能吗?
STM320H750 USB 通讯必须插拔一次才正常
file:///C:/Users/Tony-1/AppData/Roaming/LarkShell/sdk_storage/281965e1b5f203c1225065ca6caaacf9/resources/images/Hbl7ez992l.jpg[file:///C:/Users/Tony-1/AppData/Roaming/LarkShell/sdk_storage/281965e1b5f203c1225065ca6caaacf9/resources/images/GcRf0JRCaC.jpg](file:///C:/Users/Tony-1/AppData/Roaming/LarkShell/sdk_storage/281965e1b5f203c1225065ca6caaacf9/resources/images/GcRf0JRCaC.jpg)
file:///C:/Users/Tony-1/AppData/Roaming/LarkShell/sdk_storage/281965e1b5f203c1225065ca6caaacf9/resources/images/ybleU6GAFj.jpg
代码截图
或者用另一个STM32模拟个数据调试一下,看看哪里导致的接收对不上。
空闲帧好像是没有的,感觉是上一帧数据还没有处理完,下一帧数据就把他覆盖了,导致我们拿到的就是两包叠加的数据;
[md]这是程序逻辑问题。
之前的数据没处理完又来新的数据了发生覆盖,想办法接收处理弄快点;发送是否可以放慢点;
接收可以考虑基于DMA半传输完成和传输完成来实现。。
通常串口不会很快,如果怀疑中间没有idle帧,可以将接收的buffer和数量扩大,验证一下是不是都能收到。
[md]已经解决,采用三个buf可接受数据,buf1接收到数据,然后使用buf2接收数据,接受完成在使用buf3接收,buf3接收完成再使用buf1接,这样循环接受下去;接收到的数据buf在任务里处理