|
HAL 笔记1----printf 串口重定向2 \7 N# I4 L) u' P5 S: j #ifdef __GNUC__: M' C9 q( u% [/ O9 c2 n c/ S* \: s9 { /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */1 }2 j$ s3 A1 a9 t3 n; F #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)9 R% u/ \% z7 L) T7 Q #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)6 I2 A* G# ~! x- H #endif /* __GNUC__ */- ~& M6 d9 Y8 w- g) R/ A /** * @brief Retargets the C library printf function to the USART.& N; E( k3 _ i * @param None- ?- ]4 ~. {# ? * @retval None */, C: H0 H5 X' a7 @+ W1 Q PUTCHAR_PROTOTYPE8 J0 @" y: l7 |7 T, Z { /* 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(&huart1, (uint8_t *)&ch, 1, 0xFFFF); 2 g0 r g# v0 F( ] 9 B# R, j$ p* u3 j& G7 w2 d7 h7 b9 i* p return ch; }% p5 J3 I: X6 o* c1 r0 E ; g" q9 a0 |, `' P/ b* \ 这里面是putchar, getchar 类似., HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF); 参数huart1 替换为所需要的串口号即可/ V* v$ b; K' l |
微信公众号
手机版
你需要什么然后?
为什么我粘贴进去没反应啊,huart1改成huart2了已经,也没有报错
那是默认时钟,如果希望灵活更改时钟,个人觉得还是自己在代码里进行配置的好