串口发送到PC端的两种方式

配置串口的时候要注意:

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);


 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值