HAL库提供了丰富的串口收发模式和函数,作为一个写驱动的菜鸟,硬件先调通了,其他的后面用到再优化。实现串口收发我新用到了下面两个函数,一个是串口中断接收,一个是中断服务函数。
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
/*中断式串口接收函数*/
/*串口中断服务函数*/
void USART1_IRQHandler(void);
void USART1_IRQHandler(void);中断服务函数在stm32f4xx_it.c中,后面用到的定时器中断服务函数也在里面,当然也可以用“串口回调函数”,还没尝试,就先用这个了。
也不知道为什么,接收中断函数必须再加上,否则不行。
在while循环中加上发送。
看看结果,能收能发,硬件测试通过,继续测测其他部分。