济南制作网站公司吗app开发公司 无冬

news/2025/9/26 3:33:50/文章来源:
济南制作网站公司吗,app开发公司 无冬,网页设计作业古诗,wordpress 修改注册目录 一、工程依赖的硬件 二、设计目的 三、建立工程 1、配置GPIO 2、配置中断 3、配置串口 4、配置ADC 5、选择时钟源和Debug 6、配置系统时钟和ADC时钟 四、设置采样频率 五、代码修改 1、重定义外部中断回调函数 2、启动ADC 3、配置printf函数 六、运行并…目录 一、工程依赖的硬件 二、设计目的 三、建立工程 1、配置GPIO 2、配置中断 3、配置串口 4、配置ADC 5、选择时钟源和Debug 6、配置系统时钟和ADC时钟 四、设置采样频率  五、代码修改  1、重定义外部中断回调函数 2、启动ADC 3、配置printf函数  六、运行并查看结果  STM32G4系列MCU的模/数转换器(Analog to Digital Converter,ADC)功能比较强不同的型号所含ADC模块数量不同最多有5个ADC(ADC15);但也并非完全独立其ADC1和ADC2是一对ADC3和ADC4是一对ADC5可独立控制。每个ADC都包含一个12位逐次比较型模/数转换器。此外每个ADC还有最多至19个通道不同的通道具有单次、连续和扫描或断续等采样模式。 一、工程依赖的硬件 文章依赖的硬件及工程配置参考本文作者的其他文章细说ARM MCU的串口接收数据的实现过程-CSDN博客 https://wenchm.blog.csdn.net/article/details/139541112 二、设计目的 在本例子中使用ADC1的一个通道以单次采样的模式采集外部输入直流电压信号。使用NUCLEO-G474RE开发板上的按键B1来启动ADC采样。每按下一次B1键进行一次A/D转换。在代码实现中将通过查询方式判断是否转换完成一旦转换成主程序会从ADC的数据寄存器中读取转换结果并将结果通过串口送出。此外当输入信号的幅值大于一定值时将会点亮板上发光二极管LD2。这个例子用到了ADC、串口入/输出等多个模块。此外A/D转换虽采用查询模式但对按键状态的识别将采用中断方式。 ADC的输入电压范围是03.3 V,所以要确保外部施加的信号不超过此电压范围否则会导致硬件损坏。 本例中采用ADC1的第一个通道对应STM32G474RE的引脚为PA0,在NUCLEG474RE板上通过CN7端子的第28引脚引出。此外按键B1连接的引脚为PC13,LD2的控制引脚为PA5。 三、建立工程 1、配置GPIO 配置PA5为输出(GPIO_Output)默认输出电平Low推挽输出上拉速度High标识为LEDPA5引脚输出高电平时LD2点亮默认的低电平时熄灭 配置PC13为中断模式(GPIO_EXTI13)上升沿触发下拉用户标识为KEY。 2、配置中断 在NVIC中断表中将EXTI line[15:10]interrupts使能并将其抢占式优先级设为2(由于仅用到一个中断级数选择可任意)。 3、配置串口 选择 Connectivity中的 USART2其模式( Mode)选择异步( Asynchronous)其他参数设置均保持默认(波特率为115200 bit/ s)不开启中断。将 USART2的两个引脚 PA2和 PA3均设置为上拉。 4、配置ADC 选择Analog中的ADC1在其模式(Mode)区通道1(IN1)选择IN1 Single-ended(单端)其它参数设置可暂时均保持默认值。时钟预分频参数(Clock Prescaler)选择Asynchronous clock mode dividedby 1(其他选项亦可)。 5、选择时钟源和Debug 使用片外时钟晶体作为HSE的时钟源。在SYS中将Debug设置为Serial Wire。 6、配置系统时钟和ADC时钟 在STM32G474RE的说明文档中给出了其ADC时钟频率的范围。 ADC的最大频率为60 MHz而系统最高频率为170 MHz如果系统频率配置较高生成ADC时钟频率时就需要分频处理。 在本例中没有使用低功耗模式并且是让ADC进行单次采样的所以最高时钟频以达到60 MHz。为了可靠起见本例中配置ADC的时钟频率为34 MHz。 符  号 参  数 条  件 最小值 最大值 fADC/MHz ADC的时钟频率 Rangel单路ADC操作 0.14 60 Range2 —— 26 Range1所有ADCs操作单端模式VDDA≥2.7 V 0.14 52 Range1所有ADCs操作单端模式VDDA≥1.62 V 0.14 42 Rangel单路ADC操作差分模式VDDA≥1.62 V 0.14 56 四、设置采样频率  五、代码修改  打开main.c修改代码。  1、重定义外部中断回调函数 由于希望在产生按键中断时启动ADC采样所以需要重定义外部中断EXTI的回调函数。这个回调函数可以写在main.c文件后面的一个注释对中。这里直接给出它的定义 /* USER CODE BEGIN 4 */ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {HAL_ADC_Start(hadc1);HAL_ADC_PollForConversion(hadc1,10);ADC1ConvertedValue HAL_ADC_GetValue(hadc1);if(ADC1ConvertedValue 2048)HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);elseHAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);printf(ADCResult %d \r\n,ADC1ConvertedValue); }int __io_putchar(int ch) {HAL_UART_Transmit(huart2,(uint8_t *)ch,1,0xFFFF);return ch; } /* USER CODE END 4 */ 2、启动ADC 在外部中断回调函数中调用了三个ADC相关的库幽数。 首先是启动ADC用了库函数HAL_ADC_Start(ADC_HandleTypeDef *hadc)。此函数只有一个参数就是ADC结构体变量。由于在硬件配置中用了ADC1所以自动生成的代码中已经给出了它的结构体变量即hadcl。 调用的第二个库函数是 HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc,uint32_t Timeout); 这个函数是以查询方式等待A/D转换过程的结束。该函数的第二个参数是Timeout单位为ms。随后就可以调用库函数HAL_ADC_GetValue(ADC_HandleTypeDef *hadc)来读取A/D转换的结果了。这里用了一个变量ADC1ConvertedValue来存放A/D转换的结果。需要在main.c中定义该变量可以将其放到main函数前的注释对中 /* USER CODE BEGIN PV */ uint16_t ADC1ConvertedValue 0; /* USER CODE END PV */ 接下来在回调函数HAL_GPIO_EXTI_Callback()中根据A/D采样值的大小控制发光二极管的亮灭。 3、配置printf函数  在回调函数的最后,使用了 printf函数将 A/ D转换的结果通过串口送出。 使用 printf函数从串口送出数据,需要在 main.c中将 stdio.h包含进来此外还要给出 putchar函数的定义。 /* USER CODE BEGIN 4 */ int __io_putchar(int ch) {HAL_UART_Transmit(huart2,(uint8_t *)ch,1,0xFFFF);return ch; } /* USER CODE END 4 */ 六、运行并查看结果  编译工程并下载到硬件中将程序运行起来。  打开串口助手程序设置好串口端口和波特率等参数单击“打开串口。 分别用跳线将PA0连接到GND和VDD(3.3 V)上并操作NUCLEO-G474RE板上B1键。可以看到连接到GND时每次送的是0连接到VDD时会每次送来一个接近4095的数如图截图。 STM32G474RE上的ADC是12位的输入电压3.3 V时理论上对应最大转换值为4095。在将PA0连接到VDD上时为什么 ADC的转换结果不是4095呢这是因为板上的VDD并不是稳定的3.3 V而是有偏差的。对于12位ADC如果满量程输入电压为3.3 V则转换结果的每一位对应的电压为3.3/4096 V约为0.0008 V即0.8 mV。从截图中的结果看偏差了几十mV(不同的板子偏差可能会有所不同)。

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

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

相关文章

高端网站建设策划安卓移动开发

今天是下早班的一天,下完班直接赶车回广州了,吐槽一下深圳站管理得真得差,候车厅小,人巨多,而且进站口的标识也很少,绕了好久才找到!下次再也不去了。 今天是改bug的一天,但是有半天…

网站建设协议书 保密条款自适应网站cms

从上面的分析可知,虽然I2C硬件体系结构比较简单,但是I2C体系结构在Linux中的实现却相当复杂。当工程师拿到实际的电路板,面对复杂的 Linux I2C子系统,应该如何下手写驱动呢?究竟有哪些是需要亲自做的,哪些是…

做淘宝客网站需要多大的数据库网站标题符号的应用

1.网络标签 如图所示,添加网络标签,两个相同标签连到一块 添加name,可以直接按TAB键改名,如果需要上横线,在字母后面加’\‘ 2.电源标识 3.画线 这里的线不是导线,不具有电气特性,是用来划…

电子商务企业网站的基本功能wordpress主题雪人yeti1.9.2

在万物互联的时代里 数据的洪流 正在慢慢转向边缘 👇👇👇 当成千上万的设备接入互联网,大量数据正在边缘产生。在新一轮范式转移的过程中,边缘成为创建和处理数据的关键枢纽。企业该如何有效地管理边缘数据&#x…

做游戏网站定位网站集约化建设管理方案

对于一个变量a,matlab中定义需要这样 syms a;定义之后就可以写由变量组成的式子,比如 c(1a^-1)^5;可以用expand(c) 就能把c展开成多项式,每一项的系数就可以看到。freqz的用法MATLAB提供了专门用于求离散系统频响特性的函数freqz(…

江西省建设厅网站查询建造师湖南网站建设的公司排名

win部署crm) 1.phpstudy2.composer3.代码4.其他配置 周末锴哥让我帮他部署了一个CRM,写个教程,方便之后他用。锴哥用的是 NxCrm,先把代码下下来。 1.phpstudy 1.首先是下载小皮面板,配置php的环境。这里面下载了php8…

漳州商城网站建设封丘有做网站的吗

来源:AI科技评论作者:维克多编辑:青暮2021年12月9日,由粤港澳大湾区人工智能与机器人联合会、雷峰网合办的第六届全球人工智能与机器人大会(GAIR 2021)在深圳正式启幕,140余位产学领袖、30位Fel…

网站可以放多少视频seo标题优化关键词

Problem - I - Codeforces 看到最小值最大值,二分答案。 思路:每次二分时开两个集合,分别表示 0 0 0颜色和 1 1 1颜色。如果是 c c c颜色,先将值存入 c c c颜色,之后在 ! c !c !c颜色中找大于等于 m i d − a mid - a…

网站开发税率中国空间站搭建国际合作平台

为什么要做这个工具? 由于阿里云上的容器服务 ACK 在使用成本、运维成本、方便性、长期稳定性上大大超过公司自建自维护 Kubernets 集群,有不少公司纷纷想把之前自己维护 Kubernetes 负载迁移到阿里云 ACK 服务上。在迁移过程中,往往会碰到一…

网站建设需要掌握哪些知识网站平台建设的作用

泛亚高科-光伏电站控制系统界面设计 html前端 | 交互设计 | 视觉设计 | 图标设计 泛亚高科(北京)科技有限公司(以下简称“泛亚高科”),一个以实时监控、高精度数值计算为基础的科技公司, 自成立以来,组成了以博士、硕…

网站建设 网站推广wordpress获取文章第一张图片

Binutils 是GNU(https://www.gnu.org/)提供的一组二进制工具的集合。通常,在已经安装了Linux操作系统的个人电脑上,系统就已经自带了这个工具集。但在进行嵌入式开发的时候,可能会用到支持ARM64平台的Binutils,这时就需要用到交叉编译。 此前,在【1】我们已经介绍过Ubun…

网站外链建设的策略分析电子科技学校网站建设

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文…

vs怎么添加图片做网站成免费crm不用下载

上一期小明分享了企业职工养老保险退休待遇怎么算,具体可戳小明说养老|养老金怎么算?小明来教你。在以张阿姨为例的计算举例中,提到张阿姨15年的平均缴费指数为0.8209。对这个平均缴费指数的概念提问较多,今天就来解释一下月平均缴…

公司注销 网站备案申请表长沙景点必去

0、背景技术概述 永磁直流电机(PMDC)、永磁同步电机(PMSM)、无刷直流电机(BLDC)以及混合式两相步进电机在小功率应用场景中多采用集成芯片驱动(如二合一、三合一驱动芯片)的原因主要…

杭州酒店团购网站建设网站建设方面的书籍书籍

前情提要(分享个人情况,可以直接跳过) 先说一下我的个人情况,我是2026届的,目前是在找前端实习。 3月初,从3月3日开始在Boss上投简历。 分享我的个人故事,不想看可以直接滑到下面,…

淄博网站建设app开发公司标志设计图片大全免费

智能合约简单来讲就是:部署在去中心化区块链上的一个合约或者一组指令,当这个合约或者这组指令被部署以后,它就不能被改变了,并会自动执行,每个人都可以看到合约里面的条款。更深层次的理解就是:这些代码会…

寓意好兆头的公司名字泰州网站整站优化

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM,轻量配置可选2核2G3M、2核8G7M和4核8G12M,CVM云服务器可选2核2G3M和2核4G3M配置,腾讯云服务器网txyfwq.com分享2024年最新腾讯云免费…

十八岁前开始远征

一名高三生的非典型成长实验•启程 你好,同行者,这里是一名高三生进化蓝图的起点,激动之心难以言表,我来了,仿佛是早有预谋的,虽然好像有点晚,一年前也就是十六岁很多新想法涌入我的脑中,当时只觉得与我…

大名网站建设公司建筑工程公司排名

1.pom.xml依赖 2.applicationbean.xml 3.类 小树叶可以跟bean联动起来 不写接口直接写类 实现类 4.测试 两种方法的实现

课后作业二

1.动手动脑 仔细阅读示例: EnumTest.java,运行它,分析运行结果, 你能得到什么结论?你掌握了枚举类型的基本用法了吗? 结论:枚举类型是引用类型, 不属于原始数据类型,它的每个具体值都引用一个特定的对象,相同…