2.2 双摇杆遥控器程序部分--stm32F103串口配置与printf重定向到串口

一、摘要

  1. 为了便于我们调试,我们这一章节介绍如何配置串口通信,以及将printf重定向到串口输出
  2. 配置完成后我们接着上一章节ADC采集的内容,将ADC采集的数据打印输出,这样就可以直观在的串口助手上看到这些数据了

二、硬件连接

  1. 我们可以使用如下图所示的各种USB转TTL的工具连接单片机(图片来源与网络)
    在这里插入图片描述

在这里插入图片描述

  1. 连接方式
    如图所示:我们的PCB板子上已经预留了串口的四根排针,按照下面的方法与串口工具连接;
    单片机TXD–串口工具RXD;
    单片机RXD–串口工具TXD;
    单片机GND–串口工具GND;
    如果不需要使用串口供电可以不连接3.3V。
    在这里插入图片描述

三、CubeMX配置

  1. 波特率:表示一秒钟传输多少数据,这里我们改一个我们想要的波特率就可以了,我使用115200Bits/s。;
  2. 字长:一帧通信内容有多少位;
  3. 校验位:为了防止数据出错可以加校验位,这里我们没有加;
  4. 停止位:每一帧最后一位为停止位,表示一帧的结束;

在这里插入图片描述
生成代码:
在这里插入图片描述
打开Keil选择是重新编译:
在这里插入图片描述

四、串口程序介绍

  1. 串口基本函数
    打开这个.h文件的最下面会看到所以关于串口的函数,如果你不知道或者忘记某个想要用的函数在这里可以找到
    在这里插入图片描述
    我们复制串口发送函数到main函数:
    在这里插入图片描述

编译完成烧录到单片机,打开串口助手:

注意这里只能十六进制显示:
在这里插入图片描述
如何选择COM口:
右击此电脑打开管理:
在这里插入图片描述

设备管理器中的端口里面可以找到我们连接的设备:

在这里插入图片描述

使用CH340 串口工具的朋友是这样的:

在这里插入图片描述

  1. printf重定向
    这里你可以将这段代码放在uart.c,也可以放在main.c,我为了main.c更整洁一些放在uart.c最后面
    在这里插入图片描述
    注意:不要忘记头文件
    在这里插入图片描述
    注意:下图中这个地方要勾选:
    在这里插入图片描述
    函数代码:

printf重定向函数

int fputc(int ch, FILE *f)
{
	HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
	return ch;
}
  1. 实际使用
    在这里插入图片描述
    代码:

mian.c

HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Value,50);//启动DMA搬运ADC
HAL_Delay(20);//延时
ADC1_Value_average();//计算ADC五个通道各采集十次的平均值

printf("%d,%d,%d,%d\r\n",left_x,left_y,right_x,right_y);//将俩个摇杆四个方向的数据打印出来

串口输出结果:
此时摇杆都在中间,理论上四个数字都为4096/2=2048(我们的ADC为12位ADC最大为2^12=4096),但是我们使用的这种普通电阻式摇杆误差很大,所以为1900多;

在这里插入图片描述
你可以推动摇杆看数据的变化:
在这里插入图片描述
在这里插入图片描述

五、结语

ok,我们可以看到配置好串口后我们调试起来更加直观了,之后我们其他地方也会用到串口调试,如果有不正确的地方欢迎各位在评论区、或者私信指出,下一章再见。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宏定义_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值