|
发表于 2023-4-28 15:07:07
|
显示全部楼层
不好意思,硬汉哥,搞错了,我用的是stm32f103的板子,两个串口A串口接收消息通过B发出,B串口接收到消息通过A发出,然后两个串口分别接电脑串口工具,电脑开两个串口工具分别连接A,B并且分别从A,B发消息,理论上是,A串口监视框里不断地显示一条A发出的消息,一条接受到的来自B的消息,B串口的监视框同样如此,在发送过程中大概1-2分钟后就会进入hard fault,打开KEIL的Fault Reports 显示是Bus Faults总线异常导致的Hard Faults 异常,Bus Faults的PRECISERR 和BFARVALID位置位了,LR指针跳转为0xFFFFFFF1,串口波特率是125000,8位1停止位无校验,发包间隔是100ms,检测中断函数中经常从HAL库的CR3_DMAR置位后调用的UART_EndRxTransfer函数中清除CR3_EIE操作中跳转Hard Faults,奇怪的是我没有使用DMA,期望您能给些解决思路或者方法,万分感谢 |
|