蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555

蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555

第一节 硬件解读

PR1为ADC,本次重点为PR3,和PR3在一起的模块为NE555。

NE555是一款产生高精度定时脉冲的双极性集成电路。可以通过外接少量的阻容器件,组成定时触发电路等电路。

第二节 CubeMx配置

引脚对应:

PB1-ADC(PR1)

PB0-PLUS(PR3)

PB6-LED2

PB7-LED1

配置PB0为TIM3_CH3,PB1为ADC_IN9。

配置TIM3时钟源为Internal clock,channel3为直接输入捕获模式。分频为32-1,开启auto-reload preload。之后在NVIC打开TIM3的中断设置优先级为1。

第三节 代码

1,脉冲部分代码

脉冲模块,介绍下定时器捕获模式的方法;首先在"1"设置为上升沿捕获,目的为了检测即将到来的上升沿;然后,在"2"处检测到了上升沿,捕获此状态并记录此时计时器的值;接下来在"3"设置为下降沿捕获,目的是为了检测即将到来的下降沿;之后在"4"处检测到了波形的下降沿,捕获此状态并记录此时计时器的值;计算时间,两次计数器的值之差就是这个高电平的脉宽,进而可以得出高电平时间。

一,定义全局变量

外部声明变量

找到HAL_TIM_IC_CaptureCallbark()中断编写代码。

在main函数编写捕获周期频率的代码。

不用忘记开启TIM3CH3。

2,ADC部分代码

获取后直接打印。

相关推荐
Grayson_Zheng2 小时前
【解决方案】关于 UART 接收数据时丢失数据的解决办法——环形缓冲存储区
c语言·数据结构·stm32·单片机
Jaisuv3 小时前
【51单片机】点亮LED之经典流水灯
单片机·嵌入式硬件·51单片机
计算机科研之友(Friend)3 小时前
物联网(一)——CMC特刊推荐
开发语言·人工智能·深度学习·物联网·计算机视觉·网络安全
MAR-Sky3 小时前
Arduino使用网页连接修改esp8266等物联网并修改网络连接信息的基本思路
物联网·esp8266
weixin_424381006 小时前
Emergency Stop (ES)
mcu
孤芳剑影6 小时前
F28335 的 EPWM 外设
开发语言·单片机·嵌入式硬件
rj06169 小时前
抖音巨量千川涨粉操作流程,值得学习
物联网
MikelSun10 小时前
C语言中的栈帧
c语言·开发语言·c++·单片机·算法
风雨中的蜜蜂11 小时前
活体检测标签之2.4G有源RFID--SI24R2F+
单片机·嵌入式硬件