关于STM32 UART4串口通信出现的N个问题的解决
创始人
2024-11-21 02:07:28
0

1.CubeMX生成的代码工程结构是比较合理的,但需要注意HAL库代码中初始化函数的调用顺序。

以串口初始化为例,勾选生成.c/.h文件后,CubeMX会把所有的串口外设放在usart.c中进行初始化,不同的串口间,使用不同的MX_U(S)ARTx_Init对串口外设进行配置,共用弱定义HAL_UART_MspInit进行引脚和中断的底层配置。

调用关系是,MX_UART4_Init-->HAL_RS485Ex_Init-->HAL_UART_MspInit,相当于底层配置和开启中断的操作是在外设初始化进行了一半时开始的。若需要自己实现每个串口一个私有的MspInit,那么初始化的顺序应该是,要把中断的配置和使能,放在最后的部分。

下面只有第一个函数正确。

/*正确的操作:先配置底层IO,再配置外设,最后配置中断*/ void BSP_RS232_Init(void) { 	MX_RS232_MspInit(); 	MX_UART4_Init();      /* UART4 interrupt Init */     HAL_NVIC_SetPriority(UART4_IRQn, 0, 0);     HAL_NVIC_EnableIRQ(UART4_IRQn);  	__HAL_UART_ENABLE_IT(&huart4,UART_IT_RXNE);//接收中断 }   /*错误的操作1:*/ void BSP_RS232_Init(void) { 	MX_RS232_MspInit();//在此开启了中断 	MX_UART4_Init(); }  /*错误的操作2:*/ void BSP_RS232_Init(void) { 	MX_UART4_Init(); 	MX_RS232_MspInit();//在此开启了中断 }

 2.串口RXNE中断里一定不要打印(400M主频,波特率4800时打印才不会影响通信),不然就ORE溢出了,触发ORE中断后也要处理

/**  * 串口4中断服务函数  */ void UART4_IRQHandler(void) {     if(__HAL_UART_GET_FLAG(&huart4,UART_FLAG_RXNE)!=RESET)//接收到数据     {     	RS232_Receive(UART4->RDR);     }     else     {         __HAL_UART_CLEAR_IT(&huart4, UART_CLEAR_OREF);     } }

3.若串口中断里进行上传OS队列等OS相关操作,一定要将串口中断优先级降至可受OS管理的级别,不然会出现不上传队列、丢包的现象

void BSP_RS232_Init(void) { 	MX_RS232_MspInit(); 	MX_UART4_Init();    __HAL_UART_ENABLE_IT(&huart4,UART_IT_RXNE);//接收中断    /* UART4 interrupt Init */   HAL_NVIC_SetPriority(UART4_IRQn, 0x05, 0);//因为会在中断中调用OS相关API,优先级不能高于OS管理的范围   HAL_NVIC_EnableIRQ(UART4_IRQn); } 

相关内容

热门资讯

必备攻略!微扑克ai胜率,微扑... 必备攻略!微扑克ai胜率,微扑克如何让系统发好牌(微扑克)真是真的有挂(有挂教程)-哔哩哔哩1、微扑...
热点推荐(德州ai人工智能)德... 热点推荐(德州ai人工智能)德州之星透视辅助推荐(起初是有挂)-哔哩哔哩1、完成德州之星透视辅助推荐...
黑科技黑科技“wepoke透明... 黑科技黑科技“wepoke透明黑科技”wepoke软件规律(软件透明挂)原来是真的有挂(证实有挂)-...
最新通报“wpk最新黑科技”w... 最新通报“wpk最新黑科技”wpk ai机器人(wpK)起初真的是有挂(有挂规律)-哔哩哔哩您好,w...
推荐几款新版!微扑克全自动机器... 推荐几款新版!微扑克全自动机器人,微扑克ai机器人(微扑克)一直真的有挂(有挂攻略)-哔哩哔哩1、进...
每日必看教程(德州ai软件购买... 每日必看教程(德州ai软件购买)德州线上ai辅助(从来是有挂)-哔哩哔哩1、许多玩家不知道德州线上a...
查到实测!微扑克的辅助工具苹果... 查到实测!微扑克的辅助工具苹果,微扑克有挂么(微扑克)好像真的有挂(有挂详细)-哔哩哔哩;1、操作简...
黑科技游戏“wepoke辅助插... 黑科技游戏“wepoke辅助插件”wepoke有辅助挂(智能ai)总是存在有挂(有挂助手)-哔哩哔哩...
盘点一款!“wpk最新黑科技”... 盘点一款!“wpk最新黑科技”wpk有辅助挂吗(WpK)原来是有挂(揭秘有挂)-哔哩哔哩1、超多福利...
玩家必看攻略(线上wpk德州a... 玩家必看攻略(线上wpk德州ai机器人)德州ai辅助有用(原先存在有挂)-哔哩哔哩;亲,其实确实真的...