当前位置: 首页 > article >正文

[嵌入式实验]实验四:串口打印电压及温度

一、实验目的

  1. 熟悉开发环境
  2. 在开发板上读取电压和温度信息
  3. 使用串口和PC通信在PC上输出当前电压和温度信息

二、实验环境

硬件:STM32开发板、CMSIS-DAP调试工具

软件:STM32CubeMX软件、ARM的IDE:Keil C51

三、实验内容

  1. 配置相关硬件设施

(1)电压配置:因为电源 ADC 引脚为 PF10,使用 ADC3 的通道 8,原理图如图所示,而stm32 内部 的 1.2V 校准电压 Vrefint 在 ADC1 中,如图1所示。

图 1

在 cubeMX 中开启 ADC1,在设置中将 Vrefint Channel 勾选,用于读取内部参考电压。

ADC 在 cubeMX 中的设置如图采样频率设置为 PCLK2/4,采样位数为 12 位,数据设

置为右对齐,其余均保持默认。在 cubeMX 中开启 ADC3,并打开其 IN8 用于电池电 压的读取,其设置和 ADC1 一致。

(2)串口配置:在 Connectivity 标签页下将 USART1 打开,将其 Mode 设置为 Asynchronous 异步通讯方式。接着将其波特率设置为 115200,数据帧设置为 8 位数据位,无校验位,1 位停止位。同样地,打开 USART6,将其以和 USART1 同样的方式进行设置。接着前往NVIC 标签页下,开启 USART1 和 USART6 的中断。

2.实验代码

(1)通过uint32_t Read_ADC(ADC_HandleTypeDef* hadc)函数来读取ADC值,获取模拟信号的数字化表示,如图2所示。

(2)通过float Convert_ADC_To_Voltage(uint32_t adc_value)函数和float Convert_Voltage_To_ Temperature(float voltage)函数从ADC获取电压和温度数据,如图2所示。

(3)在main函数的while循环中读取ADC值并通过串口发送数据,如图3所示。

图 2

图 3

3.实验结果

打开串口调试助手,选择usb串行设备,设置波特率为115200,并点击“打开串口”操作,运行程序后可以看到在窗口中接收到电压和温度信息,如图4所示,可以看到打印的电压是1.23V,打印的温度是29.41,根据打印出的数据可以看到温度在实时发生变化。

图 4

实验小

1.实验中出现的问题

(1)在实验中发现,开发板的六号接口(&huart6)可以正常输出,一号(&huart1)不能输出结果,所以运行后,在串口调试助手中显示的是六号接口的数据,如图5所示。

图 5

(2)运行程序时出现错误无法输出数据,修改配置顺序按图6所示

图 6

2.总结与体会

本次实验通过串口打印电压和温度数据,实现STM32的串口通信。串口是嵌入式中非常重要的一个外设。将串口作为调试接口,把开发板的调试信息打印到PC端的串口助手,可以极大地方便调试工作。

http://www.lryc.cn/news/2396185.html

相关文章:

  • LVS+Keepalived 高可用
  • Linux正则三剑客篇
  • HTML5 视频播放器:从基础到进阶的实现指南
  • 鸿蒙HarmonyOS (React Native)的实战教程
  • 函数栈帧深度解析:从寄存器操作看函数调用机制
  • 【计算机网络】第3章:传输层—可靠数据传输的原理
  • rv1126b sdk移植
  • 第6节 Node.js 回调函数
  • OpenCV CUDA模块直方图计算------在 GPU上执行直方图均衡化(Histogram Equalization)函数equalizeHist
  • 构建系统maven
  • day13 leetcode-hot100-23(链表2)
  • Java面试八股(Java基础,Spring,SpringBoot篇)
  • Python编程基础(二)| 列表简介
  • 支持向量机(SVM):解锁数据分类与回归的强大工具
  • 代谢组数据分析(二十五):代谢组与蛋白质组数据分析的异同
  • 002 flutter基础 初始文件讲解(1)
  • AI 让无人机跟踪更精准——从视觉感知到智能预测
  • Launcher3体系化之路
  • 用wireshark抓了个TCP通讯的包
  • VR/AR 显示瓶颈将破!铁电液晶技术迎来关键突破
  • 【前端】Vue中实现pdf逐页转图片,图片再逐张提取文字
  • 焦虑而烦躁的上午
  • Python使用
  • 分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类
  • 【解决方案-RAGFlow】RAGFlow显示Task is queued、 Microsoft Visual C++ 14.0 or greater is required.
  • 爬虫到智能数据分析:Bright Data × Kimi 智能洞察亚马逊电商产品销售潜力
  • 高级前端工程师必备的 JS 设计模式入门教程,常用设计模式案例分享
  • unix/linux source 命令,其发展历程详细时间线、由来、历史背景
  • 2023年电赛C题——电感电容测量装置
  • pycharm打印时不换行,方便对比观察