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的; 问题困扰很久了,请大家帮忙处理下,急急急!!!!!!!!!! |
ECC功能开启后,如何验证这个功能是否正常开启呢?
STM32H7系列芯片下的ECC功能如何测试?
H7系列无法配置MPU
STM32H745I-DISCO 下载TouchGFX报找到不FLASH下载算法文件
STM32H7打开DCache后,串口1DMA接受数据位空
STM32H743或者是STM32F767读取NAND时候直接将数据存放到SDRAM中会出错,但是将读取的数据存入到内部IRAM中不会,请问是什么原因导致的。
STM32H7,使用LWIP通信,数据量过大会卡死。
LQFP100 STM32H750的ADC快速通道如何配置最高采样率呢
STM32CubeIDE STM32H743XIH6,串口无法重定向,且发送内容波特率不对乱码
STM32H7,ADC_IRQHandler和ADC3_IRQHandler这两个中断入口函数在使用上有何区别?
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在任务里处理