
mcu:STM32G070RB,驱动库:hal版本1.6.1 目前会遇到串口2与外部芯片的通讯异常,异常表现为串口2不能收发数据了 串口2的配置方式是CubeMX配置的 接收数据方法:HAL_UART_Receive_IT(&huart2,&Uart2RX_Data,1);//中断方式,1字节一次获取数据 发送数据方法:HAL_UART_Transmit_IT(&huart2,u8_TxBuf,len); 我已经在中断代码中增加了if( HAL_UART_Receive_IT(&huart2, &Uart2RX_Data, 1) != HAL_OK),来判断是否开启中断完成,并且记录下来,再进行串口初始化(代码不在中断中),代码如下 huart2.Lock = HAL_UNLOCKED; MX_USART2_UART_Init();//重新初始化串口 HAL_UART_Receive_IT(&huart2,&Uart2RX_Data,1);//继续接收数据 请教一下,如何才能保证G0单片机的 串口卡死/无法收发的情况不出现或能够解决串口异常 串口崩溃快烦死了,一直解决不了,而且很难复现。 |
关于上海如何开餐饮费发票-上海本地宝
STM32G0b1 USB device cdc显示设备描述符请求失败
STM32会存在单个IO口坏掉的情况吗?
基于STM32U575的RFID信息审查系统?
STM32L431偶发串口乱码问题。
STM32CubeProgrammer 安装错误,请帮忙解决,谢谢
STM32CubeMX 配置STM32G070RBT6TR时无法使能PVD中断
STM32G070RBT6TR STM32CubeMX ADC配置后使用的是内部参考电压且零点的读数太大了
测评在哪里发?
Group Study vs. Solo Study: What Works Best?
出现这个问题应是串口数据处理不及时,导致产生了溢出。需要重新初始化串口进行处理。一般重新开接收中断是在回调函数中执行。
可以用串口工具模拟通讯。如果低速率情况可以,高速率不行,那多半跟处理速度方式有关。
如果低速也不行,多半是处理方式原理不合适,调整一下即可。