蓝桥杯物联网竞赛_STM32L071_15_ADC/脉冲模块

ADC模块用的是RP1不用多说了,主要是脉冲模块,这个模块没考过

这个脉冲模块放出脉冲,主要能用TIM捕获到这个脉冲的高电平持续时间即可

CubMx配置:


脉冲模块的引脚与PB0相连,所以用PB0读取上升沿记的数和下降沿记的数,后前相减就是高电平记的数

CubeMx配置:


internal clock 内部时钟

input capture direct mode 输入捕获测量脉宽

channel3 通道3

类似GPIO INPUT读取外部电平


中断enable


预分配设置3200,1s记录1000000 / 100个数,那么记录一个数花费0.1ms

自动重装enable

kil5:

复制代码
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)  // 定时器捕获中断回调函数

在触发上升沿或者下降沿的时候会进入这个中断函数,设置上升沿下降沿在polarity selection中

复制代码
HAL_TIM_ReadCapturedValue(&htim3,TIM_CHANNEL_3);	//读取计数器的值

显示计数器的值

复制代码
__HAL_TIM_SET_CAPTUREPOLARITY(&htim3,TIM_CHANNEL_3,TIM_ICPOLARITY_FALLING);	 // 设置触发条件

设置下次中断为下降沿

复制代码
HAL_TIM_IC_Start_IT(&htim3, TIM_CHANNEL_3);

主函数一定要使能要不然进不了中断函数

相关推荐
Zeku9 小时前
20260110 - Linux 驱动开发学习笔记:上下文、中断与休眠
stm32·freertos·linux驱动开发·linux应用开发
linweidong14 小时前
嵌入式电机:如何在低速和高负载状态下保持FOC(Field-Oriented Control)算法的电流控制稳定?
stm32·单片机·算法
TDengine (老段)14 小时前
TDengine Python 连接器进阶指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
知南x16 小时前
【STM32MP157 视频监控项目】(2) 移植 Nginx
stm32·nginx·音视频
没有故事的Zhang同学18 小时前
03-📝物联网组网 | 蓝牙通信: 经典蓝牙与低功耗Ble通信、iBeacon技术
物联网
Zeku19 小时前
20260110 - Linux驱动学习笔记:环形缓冲区与按键防丢失
stm32·freertos·linux驱动开发·linux应用开发
youcans_19 小时前
【动手学STM32G4】(8)STM32G431之 DAC进阶
stm32·单片机·嵌入式硬件·dma·定时器
Zeku19 小时前
20260111 - Linux驱动学习笔记:异步通知
笔记·stm32·freertos·linux驱动开发·linux应用开发
_OP_CHEN19 小时前
【算法基础篇】(四十五)裴蜀定理与扩展欧几里得算法:从不定方程到数论万能钥匙
算法·蓝桥杯·数论·算法竞赛·裴蜀定理·扩展欧几里得算法·acm/icpc
御控工业物联网19 小时前
御控远程监控智慧运维系统
运维·物联网·边缘计算·数据采集·远程监控·mqtt协议·工业智能网关