
使用DMA+IDLE HAL库方式接收串口不等长数据 接收到的所有数据均正常 但是收到15个字节的数据后 一执行清除IDLE标志位 (__HAL_UART_CLEAR_IDLEFLAG(&huart1); )就进入HardFault_Handler错误中断,但是收到<15个字节的数据都是正常的,我每次使用dma方式接收都是50个字节(HAL_UART_Receive_DMA(&huart1, (uint8_t *)&userUart.userUart1.ReciveBuff, 50);) 我查了些资料 通过R13寄存器里面存的地址找出来最后一条执行的程序 是__HAL_UART_CLEAR_IDLEFLAG(&huart1); 执行完这一条后就进入错误中断了 |
STM32F429 二级启动程序 (sboot) 开发难点:LD 文件 / 堆栈 / NVIC 及 startup.s 修改疑问
为什么STM32G431的串口用不了2.5M的波特率
STM32L431内部温度AD值不随温度变化
STM32L设置CAN一直卡在HAL_CAN_START(),上拉两个引脚依然卡在这里
debug选项卡中的trace enable选项是灰色的无法勾选
STM32F407ZGT6的SD卡通过DMA控制时,无法从外部SRAM取数据
STM32L031G6U6芯片,使用Flash模拟EEPROM功能,同数据写入不同地址,读取对比不一样,这是为什么?
STM32G473RC timer8的CCDS bit, Capture/Compare DMA selection.
请问原子哥,STM32F407例程力,FFT测试章节里,计算时间统计正确吗?
STM32H7+SAI+DMA双缓冲配置失败.
理论上分析,可能是接收的数据长度超出导致,检查一下userUart.userUart1.ReciveBuff的定义,是不是大于50。
我把__HAL_UART_CLEAR_IDLEFLAG(&huart1);清除标志位去掉 还是不可以 接收13个字节正常 接收15个字节直接进入错误中断了
[md]我同时开启了六个串口的DMA 每一个DMA接收都是50个字节 我发现我六个串口每一个DMA接收是40的时候整个程序就正常了 正常跑了两边程序又这样进错误中断了 我再改小dma每次接收的字节也没用额
另外,注意内存是否越界了。