基于CUBE_HAL的STM32F103学习笔记(004.串口发送数据)

004.串口发送数据

  1. 设计目标
    A.功能
    ①STM32通过串口向上位机发送“hello”;
    ②STM32通过串口向上位机发送数值(int a=123456);
    B.电路分析
    在这里插入图片描述

C.逻辑关系
串口要发送数据,则需使用HAL_UART_Transmit函数。

  1. CUBE的配置
    在这里插入图片描述
  2. 典型代码

A.fputc重定向

#include "stdio.h"
#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(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
	return ch;}
————————————放到main之外————————————

B.main函数

printf("hello,  ");
int a=123456;
printf("%d\n",a);

Printf的输出格式:%d为int型;%f为double型;%e为科学计数法型;%c为char型;%s为字符串型;%p为指针型。

  1. 小结

A.如只使用HAL_UART_Transmit(&huart1,待发送字符串,长度,0xFFFF);则只能发送字符串,不能发送数值,考虑到各种传感器获取的数据均为数值型,故必须重定向printf。
B.另外,要使用"stdio.h",需要将project/options for target/use microlib选中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值