打印数据需要printf函数,需要实现此函数
分两步
第一步:选择Use MicroLIB
第二步:代码实现
#include "stdio.h"
int fputc(int ch, FILE *f)
{
while((huart3.Instance->ISR &0x40)==0);
huart3.Instance->TDR = (uint8_t)ch;
return (ch);
}
到此可以愉快的使用printf函数了
STM32CUBEIDE生成的代码在IDE里使用printf
//printf
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart3 , (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}