配置串口的时候要注意:
F1系列中,GPIO_RX配置成输入浮空输入模式,GPIO_TX要配置成推挽复用模式;
F4系列中,GPIO要配置成复用模式,同时要将端口复用为串口模式;
接下来可用两种方式发送到PC端
一、 重定义printf函数,注意要使用这种方法的话需要将Options -> Target -> Use MicroLIB 勾上
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
USART_SendData(USART2, (uint8_t) ch);
while(USART_GetFlagStatus(USART2,USART_FLAG_TXE) == RESET)
{}
return ch;
}
- 二、 自己写发送函数,如果需要发送动态数据可使用sprintf 转义
其实函数也跟上面的重定义函数差不多,很简单的程序
void uart_printf(uint8_t *string)
{
uint8_t index = 0;
do
{
USART_SendData(USART2,string[index]);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC) == RESET); //或USART_FLAG_TXE
index ++;
}while(string[index] != '\0');
}
//发送字符串
uart_printf(“usart test\n\r”);
//发送动态数据
uint8_t string[50],i;
i ++;
sprintf((char *)string, “Display Dynamic Data : %f\n\r”,1.0/i);
uart_printf(string);