我按照规格书配置了usart 3 作为串口,并且电脑可以是被到串口,但是我始终接收不到数据。
并且我还直接接到了串口输出脚PD8 PD9(排除外部连接错误导致的),任然没有数据。
1、确认引脚
文档明确写明了,ST_Link默认接USART 3的,并且配置好了。
但是我核对了一一下
如图,按照文档上的配置 SB24 SB18都要断开才可以啊,那为什么又说默认接好了
2、软件配置
cubemx配置USART 3
在usart.c中添加下面的代码。
#ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (op
tion LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endif /* __GNUC__ *//** * @brief Retargets the C library printf function to the USART. * @param None * @retval None */PUTCHAR_PROTOTYPE{ /* Place your implementation of fputc here */ /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */ HAL_UART_Transmit( huart3, (uint8_t *) ch, 1, 0xFFFF); return ch;}keil 5 配置
然后我在MAIN.C 的 while不断的打LOG,什么都看不见。
为了避免是外部硬件配置问题,我直接用串口街道PD8 PD9上面 ,还是没有LOG