蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路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部分代码

获取后直接打印。

相关推荐
念越4 小时前
蓝桥杯17届功能测试模拟1期题目及解析(1)
功能测试·蓝桥杯·测试用例·场景法
_Ningye4 小时前
STM32 — 6.1 TIM定时中断
stm32·单片机·嵌入式硬件
非鱼䲆鱻䲜6 小时前
vscode开发stm32添加新的头文件路径和包含源文件
ide·vscode·stm32·cmake·包含头文件·包含源文件
FreakStudio6 小时前
把 Flask 搬进 ESP32,高中生自研嵌入式 Web 框架 MicroFlask !
python·单片机·嵌入式·cortex-m3·异步编程·电子diy
AnalogElectronic7 小时前
RP2040 pico 实验6,光敏电阻传感器模块(LM393 比较器版)
单片机
电子工程师成长日记-C517 小时前
51单片机4乘4计算器
单片机·嵌入式硬件·51单片机
梅尔文.古7 小时前
ADCU-Ethernet-以太网在AUTOSAR与Linux架构下对比
arm开发·单片机·汽车
没有医保李先生8 小时前
esp32和stm32的工程宏定义
stm32·单片机·嵌入式硬件
炸膛坦客8 小时前
单片机/C/C++八股:(十五)内存对齐、结构体内存对齐
c语言·开发语言·单片机
计算机安禾8 小时前
【C语言程序设计】第37篇:链表数据结构(一):单向链表的实现
c语言·开发语言·数据结构·c++·算法·链表·蓝桥杯