[STM32WBA] 【NUCLEO-WBA65RI 测评】+串口打印输出

[STM32WBA] 【NUCLEO-WBA65RI 测评】+串口打印输出 一、硬件使用usart1来进行串口打印收发USART1RX-----GPIO23TX------GPIO24二、IDE配置debug、RCC等就不累赘了配置usart1DMA显示不用设置这个需要研究下三、代码main函数* USER CODE BEGIN 0 */#ifdef__GNUC__#definePUTCHAR_PROTOTYPEint__io_putchar(intch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endifPUTCHAR_PROTOTYPE{HAL_UART_Transmit(huart1, (uint8_t*)ch, 1, HAL_MAX_DELAY);returnch;}// 简化的串口接收中断回调voidHAL_UART_RxCpltCallback(UART_HandleTypeDef*huart){if(huart-Instance USART1){// 立即回显接收到的字符printf([ECHO] Char: %c (0x%02X)\r\n, aRxBuffer, aRxBuffer);// 重新开启接收中断HAL_UART_Receive_IT(huart1, (uint8_t*)aRxBuffer, 1);}}// 串口错误回调voidHAL_UART_ErrorCallback(UART_HandleTypeDef*huart){if(huart-Instance USART1){printf([ERROR] UART Error: 0x%08lX\r\n, huart-ErrorCode);// 清除错误并重启接收__HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF);HAL_UART_Receive_IT(huart1, (uint8_t*)aRxBuffer, 1);}}// 开启串口接收中断HAL_UART_Receive_IT(huart1, (uint8_t *)aRxBuffer, 1);printf(NUCLEO-WBA65RI USART1 Test Program Start\r\n);printf(Waiting for data...\r\n);四、效果本来想用DMA的但是没用的起来后续需要研究研究可能需要查看下例程了看看哪里有需要改进的每天进步一点点---------------------作者LiuDW091链接https://bbs.21ic.com/icview-3499087-1-1.html来源21ic.com此文章已获得原创/原创奖标签著作权归21ic所有任何人未经允许禁止转载。