STM32F7串口通信问题

所属分类:STM32F系列 浏览数:956 提问者:dlx6969 提问时间:2018-02-07

问:

STM32F767用到2个串口:串口1,230400,DMA发送,中断接收;串口5,460800,DMA发送,中断接收。初始化程序如下: //初始化函数 void MX_UART5_Init(void) { 串口5初始化 HAL_UART_Receive_IT(&huart5, RS422Type.RxTmpBuf, 1); } /* USART1 init function */ void MX_USART1_UART_Init(void) { 串口1初始化 HAL_UART_Receive_IT(&huart1, RS232Type.RxTmpBuf, 1); } //串口中断函数 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { if(huart->Instance==USART1)//如果是串口1 { 串口协议解析,正确执行HAL_UART_Transmit_DMA(&huart1,RS232Type.RxBuf,12); HAL_UART_Receive_IT(&huart1,RS232Type.RxTmpBuf,1); } else if(huart->Instance==UART5)//如果是串口5 { 串口协议解析, HAL_UART_Receive_IT(&huart5,RS422Type.RxTmpBuf,1); } } 767先上电,设备再上电通信正常,但设备先上电,再运行767,767进不了串行中断。请指正。


答:你是单步调试的吧?用relase模式,全速跑一下试试
回答者:nanhaijiaolong 回答时间:2018-02-08

登录后回答。
图书推荐
漫画半导体(高清版)

漫画半导体(高清版)

这是一本实用性很强的图书,,以漫画的形式更易于让人接受,边读故事边学知识,轻松且易于记忆。
算法心得:高效算法的奥秘

算法心得:高效算法的奥秘

本书给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门...
基于STM8S-无刷直流电机控制应用

基于STM8S-无刷直流电机控制应用

无刷直流电机是21世纪最有发展前景的新型电机之一。本书以STM8S单片机为控制核心...
广告