STM32F7串口通信问题
所属分类:STM32F系列
浏览数:4572
提问者: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请登录后回答。