蓝桥杯嵌入式入门指南-ADC【6】

在这里插入图片描述
tips:可以不用开启过采样
adc读取函数

float adc_read(ADC_HandleTypeDef *hadc)
{uint16_t adc_val;float adc_f;HAL_ADC_Start (hadc);adc_val = HAL_ADC_GetValue(hadc);adc_f = adc_val*3.3f/4096.0f;return adc_f;
}

setup()初始化

	HAL_ADCEx_Calibration_Start(&hadc2 ,ADC_SINGLE_ENDED);//ADC自动校准

调用函数并显示

	float adc_data_PB15;adc_data_PB15 = adc_read(&hadc2);sprintf(text,"  PB15:%.4f V    ",adc_data_PB15);LCD_DisplayStringLine(Line4,(uint8_t *)text);

all.c

#include "all.h"uint8_t led_sta=0x20;//LED初始化参数
extern struct Bkeys bkey[];//按键存储
char  text[30]; //存放显示文本void LED_Disp(uint8_t dsLED)//LED控制
{HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,GPIO_PIN_SET);//所有LED熄灭HAL_GPIO_WritePin(GPIOC,dsLED<<8,GPIO_PIN_RESET);//左移8位。控制C8~C15引脚,值为1的点亮HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);//开锁存器HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);//关锁存器
}
void LED_Chg(uint8_t num,uint8_t sta)//单独控制一个LED
{uint8_t pos = 0x01<<(num-1);led_sta =(led_sta&(~pos))|(pos*sta);LED_Disp(led_sta);
}float adc_read(ADC_HandleTypeDef *hadc)
{uint16_t adc_val;float adc_f;HAL_ADC_Start (hadc);adc_val = HAL_ADC_GetValue(hadc);adc_f = adc_val*3.3f/4096.0f;return adc_f;
}void setup()
{HAL_TIM_Base_Start_IT(&htim6);//开启TIMHAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2);//产生PWMHAL_TIM_IC_Start(&htim15,TIM_CHANNEL_1);//打开pwm捕获HAL_TIM_IC_Start(&htim15,TIM_CHANNEL_2);//打开pwm捕获HAL_ADCEx_Calibration_Start(&hadc2 ,ADC_SINGLE_ENDED);//ADC自动校准//LED初始状态LED_Disp(0x00);//LCD初始化LCD_Init();LCD_Clear(Black );LCD_SetBackColor(Black);LCD_SetTextColor(White);
}void loop()
{//PWM捕获float frq1 = 0;float duty1 = 0;frq1 = 1000000.0f/(HAL_TIM_ReadCapturedValue(&htim15,TIM_CHANNEL_1)+1);//获取频率duty1 = ((HAL_TIM_ReadCapturedValue(&htim15,TIM_CHANNEL_2)+1)*100.f/(HAL_TIM_ReadCapturedValue(&htim15,TIM_CHANNEL_1)+1));//获取占空比sprintf(text,"     FQR:%.2f Hz     ",frq1);LCD_DisplayStringLine(Line2,(uint8_t *)text);sprintf(text,"     DUTY:%.2f %%     ",duty1);LCD_DisplayStringLine(Line3,(uint8_t *)text);//ADCfloat adc_data_PB15;adc_data_PB15 = adc_read(&hadc2);sprintf(text,"  PB15:%.4f V    ",adc_data_PB15);LCD_DisplayStringLine(Line4,(uint8_t *)text);if(bkey[1].short_flag==1){LED_Chg(1,1);sprintf(text,"        down!        ");LCD_DisplayStringLine(Line1,(uint8_t *)text);bkey[1].short_flag = 0;}if(bkey[1].long_flag==1){LED_Chg(2,1);sprintf(text,"      long_down!      ");LCD_DisplayStringLine(Line1,(uint8_t *)text);}}void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)//按键服务
{if(htim->Instance == TIM6)key_serv();}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【头歌实训:递归实现斐波那契数列】

头歌实训&#xff1a;递归实现斐波那契数列 文章目录 任务描述相关知识递归相关知识递归举例何时使用递归定义是递归的数据结构是递归的问题的求解方法是递归的 编程要求测试说明源代码&#xff1a; 任务描述 本关任务&#xff1a;递归求解斐波那契数列。 相关知识 为了完成…

【CSP CCF记录】201803-2第13次认证 碰撞的小球

题目 样例输入1 3 10 5 4 6 8 样例输出1 7 9 9 样例输入2 10 22 30 14 12 16 6 10 2 8 20 18 4 样例输出2 6 6 8 2 4 0 4 12 10 2 思路 梳理题意&#xff0c;本题主要考虑三种情况&#xff1a; 1.小球正常运动 2.小球抵达线段两段 3.两个小球在线段某位置相撞 前两种情况很…

ML 系列:第 35 节 - 机器学习中的数据可视化

ML 系列&#xff1a;第 35 天 - 机器学习中的数据可视化 文章目录 一、说明二、数据可视化2.1 直方图2.2 箱线图2.3 散点图2.4 条形图2.5 线图2.6 热图 三、结尾 一、说明 描述性统计和数据可视化是理解和解释机器学习数据的基础。它们有助于总结和直观地呈现数据&#xff0c…

数字化转型背景下,高职院校计算机网络应用的革新策略

在当今信息化时代&#xff0c;计算机网络已经成为高职院校教育不可或缺的一部分&#xff0c;它不仅极大地丰富了教育资源&#xff0c;提高了交流的便捷性&#xff0c;还催生了多样化的教学模式。对于高职院校来说&#xff0c;加强计算机网络应用的建设不仅是顺应时代潮流的必然…

【C/C++】数据库链接入门教程:从零开始的详细指南!MySQL集成与操作

文章目录 环境配置&#xff1a;搭建开发环境的基础步骤2.1 安装MySQL数据库2.2 配置C/C开发环境2.3 下载并安装MySQL Connector/C 基础操作&#xff1a;实现C/C与MySQL的基本交互3.1 建立数据库连接3.2 执行SQL语句3.3 处理查询结果 进阶技巧&#xff1a;提升数据库操作效率与安…

什么是迁移学习?

一、基本概念 迁移学习&#xff08;Transfer Learning&#xff09;是一种机器学习方法&#xff0c;旨在将从一个任务中学到的/已有的知识应用到另一个相关任务中。与传统的机器学习方法不同&#xff0c;迁移学习不需要从头开始训练模型&#xff0c;而是利用(迁移)已有知识来加速…

D83【python 接口自动化学习】- pytest基础用法

day83 pytest测试用例执行顺序 学习日期&#xff1a;20241129 学习目标&#xff1a;http定义及实战 -- pytest测试用例执行顺序 学习笔记&#xff1a; 测试用例执行顺序 默认执行顺序使用pytest-ordering自定义顺序 pytestrequests练习 import requestsdef test_mobile()…

漫谈推理谬误——错误因果

相关文章 漫谈推理谬误——错误假设-CSDN博客文章浏览阅读736次&#xff0c;点赞22次&#xff0c;收藏3次。在日常生活中&#xff0c;我们会面临各种逻辑推理&#xff0c;有些看起来一目了然&#xff0c;有些非常的科学严谨&#xff0c;但也有很多似是而非&#xff0c;隐藏了陷…

如何看linux系统内核是aarch64 ,还是64-bit

要查看 Linux 系统内核是 aarch64 架构还是 64-bit 架构&#xff0c;可以通过以下几种方法来确认&#xff1a; 方法 1&#xff1a;使用 uname 命令 uname 命令用于显示系统信息。使用以下命令查看系统的架构&#xff1a; uname -m如果输出是 aarch64&#xff0c;说明你的系统…

Debezium Engine监听binlog实现缓存更新与业务解耦

飞书文档 解决缓存与数据源数据不一致的方案有很多, 各有优缺点; 1.0、旁路缓存策略, 直接同步更新 读取流程&#xff1a; 查询缓存。如果缓存命中&#xff0c;则直接返回结果。如果缓存未命中&#xff0c;则查询数据库。将数据库查询到的数据写入缓存&#xff0c;并设置一个…

使用命令行来刷写ELRS接收器的固件

1。使用ExpressLRS Configurator的自带编译好的python命令 "C:\Users\xxx\AppData\Local\Programs\ExpressLRS Configurator\dependencies\windows_amd64\python\python3.exe" \ "C:\Users\xxx\AppData\Roaming\ExpressLRS Configurator\firmwares\cloud\Expr…

深入理解 Docker 在 CI/CD 流程中的应用原理

Docker 和 CI/CD 是现代软件开发和运维中的两项重要技术。将 Docker 与 CI/CD 集成&#xff0c;可以提高软件交付速度、可靠性和可扩展性。本文将从 CI/CD 的基本概念出发&#xff0c;介绍 Docker 在 CI/CD 中的应用原理&#xff0c;展示其在各个环节中的工作流程&#xff0c;以…

输出1~n中能被3整除,且至少有一位数字是5的所有整数.:JAVA

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 输出1~n中能被3整除&#xff0c;且至少有一位数字是5的所有整数. 输入描述: 输入一行&#xff0c;包含一个整数n。(1 < n < 100000) 输出描述: 输出所有满足条件的数&#xff0c;以换…

流量工程中的“LSP“,“RSVP“,“ISIS TE“,“OSPF TE“分别是什么?

在流量工程中&#xff0c;LSP&#xff08;Label Switched Path&#xff0c;标签交换路径&#xff09;、RSVP&#xff08;Resource Reservation Protocol&#xff0c;资源预留协议&#xff09;、IS-IS TE&#xff08;Intermediate System to Intermediate System Traffic Engine…

激光雷达定位与建图-最近邻问题2

一、问题引出 最近邻问题&#xff1a;假设有两个点云集合&#xff0c; χ 1 { x 1 , ⋯ x n } \chi _{1} \left \{ x_{1},\cdots x_{n} \right \} χ1​{x1​,⋯xn​} &#xff0c; χ 2 { x 1 , ⋯ x n } \chi _{2} \left \{ x_{1},\cdots x_{n} \right \} χ2​{x1​,⋯…

redis中的哨兵

redis中的哨兵 一、哨兵机制的概念二、redis哨兵的部署2.1 docker的安装2.2 编排redis主从节点2.3 配置哨兵节点 三、redis哨兵的选举机制3.1 redis-master宕机之后的情况3.2 重启redis-master后的情况 四、redis哨兵机制的原理4.1主观下线4.2客观下线4.3选举leader节点4.4选出…

如何在 IIS 上部署 .NET Core 应用程序 ?

在 Internet 信息服务 (IIS) 上部署 .NET Core 应用程序起初可能看起来令人生畏&#xff0c;但只要步骤正确&#xff0c;它就是一个简单的过程。本指南将引导您在 IIS 上部署 .NET Core 应用程序。 Step 1: 安装 .NET Core Hosting Bundle (1) 前往官方下载页面 .NET downloa…

蓝桥杯每日真题 - 第24天

题目&#xff1a;&#xff08;货物摆放&#xff09; 题目描述&#xff08;12届 C&C B组D题&#xff09; 解题思路&#xff1a; 这道题的核心是求因数以及枚举验证。具体步骤如下&#xff1a; 因数分解&#xff1a; 通过逐一尝试小于等于的数&#xff0c;找到 n 的所有因数…

【前端】Next.js 服务器端渲染(SSR)与客户端渲染(CSR)的最佳实践

关于Next.js 服务器端渲染&#xff08;SSR&#xff09;与客户端渲染&#xff08;CSR&#xff09;的实践内容方面&#xff0c;我们按下面几点进行阐述。 1. 原理 服务器端渲染 (SSR): 在服务器上生成完整的HTML页面&#xff0c;然后发送给客户端。这使得用户在首次访问时能够…

【机器学习】机器学习的基本分类-监督学习-逻辑回归-对数似然损失函数(Log-Likelihood Loss Function)

对数似然损失函数&#xff08;Log-Likelihood Loss Function&#xff09; 对数似然损失函数是机器学习和统计学中广泛使用的一种损失函数&#xff0c;特别是在分类问题&#xff08;例如逻辑回归、神经网络&#xff09;中应用最为广泛。它基于最大似然估计原理&#xff0c;通过…