当前位置: 首页 > article >正文

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

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

  • 第一节 硬件解读
  • 第二节 CubeMx配置
  • 第三节 代码
    • 1,脉冲部分代码
    • 2,ADC部分代码![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/57531a4ee76d46daa227ae0a52993191.png)

第一节 硬件解读

在这里插入图片描述
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部分代码在这里插入图片描述

获取后直接打印。
在这里插入图片描述


http://www.kler.cn/news/342126.html

相关文章:

  • Android实现ViewPager剧中放大效果
  • QA对(question-answer pair)、知识库alpha(混合检索策略)、以及知识库kms(召回分值阈值)
  • springboot如何集成mybatis?
  • 喜讯!迈威通信TSN产品通过“时间敏感网络(TSN)产业链名录计划”评测,各项指标名列前茅
  • 使用vscode调试wails项目(golang桌面GUI)
  • Python+PyCharm安装和配置(详细步骤)
  • 【C++】map详解(键值对的概念,与multimap的不同)
  • awk脚本和python脚本版本
  • 打破常规,BD仓储物流的效能提升!
  • python xml的读取和写入
  • 【C++网络编程】(一)Linux平台下TCP客户/服务端程序
  • 学习小课堂
  • ssm基于Javaee的影视创作论坛的设计与实现
  • SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
  • 网络风暴产生原因、危害、预防和解决方法
  • 【书生浦语实战】茴香豆企业级知识库问答工具-搭建Dify问答助手
  • k8s 1.28.2 集群部署 MinIO 分布式存储
  • 路径跟踪之导航向量场——二维导航向量场
  • 实景三维赋能地下管线综合智管应用
  • 构建宠物咖啡馆:SpringBoot框架的实现策略