arduino测方波频率(外部中断)
单片机测方波频率有两种典型的方法:
1.如果频率较块时候:利用定时器(定时一秒),外部中断下降沿触发,计算一秒钟触发的次数,算出频率
2.如果频率较慢的话,利用两个下降沿或上升沿时间间隔,测出频率
教程针对第二种
1.arduino外部中断教程
介绍:中断程序可以看作是一段独立于主程序之外的程序,当中断触发时,控制器会暂停当前正在运行的主程序,而跳转去运行中 断程序,中断程序运行完后,会再回到之前主程序暂停的位置,继续运行主程序。如此便可做到实时响应处理事件的效果。
具体程序;设置一个引脚,默认是输入
//下降沿触发 触发中断0(引脚2),调用blink函数
attachInterrupt(0, blink, FALLING);
2.时间函数
micros():毫秒计数
micros();微秒计数
一般用unsiged long(无符号长整型表示)
3.程序编写(硬件连接,一个单片机引脚输出方波信号(模拟信号源),一个单片机引脚2读取方波信号)
//arduino测方波频率
int SensorINPUT = 2; //连到中断0,也就是数字引脚`
unsigned long time1,time2,time_;
float pl;void setup() {Serial.begin(9600); //开启串口pinMode(SensorINPUT, INPUT); //设置引脚输入(默认就是输入)attachInterrupt(0, blink, FALLING); //下降沿触发,触发中断0,调用blink函数}void loop() {//int a = digitalRead(SensorINPUT); //串口打印一下看看数据正确吗//Serial.println(a); if(time2 > 1000000000 ){time2= 0; //避免溢出}delay(10);
}void blink() { //中断函数blink()time1 = time2; //保留上一次数值time2 = millis(); //读取现在的时间数值time_ = time2 - time1; //计数两个下降沿之间的所经过的时间pl=1000.0/time_; //计算频率 pl = 1/(time_/1000) 时间的倒数Serial.println("----");Serial.print(pl); //打印数值Serial.println("----");
}
arduino测方波频率(外部中断)相关推荐
- 利用定时器产生方波并通过中断调节方波频率
要求:从P1^0口输出50Hz的方波,并通过S1,S2调整方波的频率.按下S1 频率以1Hz为单位增大,按下S2 频率以1Hz为单位减小. (代码仅进行过初步验证,可能存在一定的BUG,谨慎使用) # ...
- 瑞萨单片机之外部中断实现频率采集(三)
很多低端MCU没有像STM32 那样拥有强大脉冲捕获测频率,那么MCU只能依靠自身有的资源来实现这个功能,比较通用的方法是使用了外部中断+定时器来实现,该方法经过我在实际项目中的使用来看,频率50/6 ...
- Arduino UNO利用外部中断测量RC接收器PPM脉宽
Arduino UNO利用外部中断测量RC接收器PPM脉宽 PPM信号 PPM信号是将多个控制通道(一般10个控制通道)集中放在一起调制的信号.也就是一个PPM脉冲序列里面包含了多个通道的信息.如下图 ...
- 基于arduino的火焰报警蜂鸣器播放音乐(外部中断)实验
接线 按钮------D3 火焰传感器---D2 蜂鸣器-----D7 led灯-----D13 编程思路及目的 利用火焰传感器检测火焰,然后播放音乐,如果中途有人按下按钮,则停止音乐. 主程序 #i ...
- Vscode(arduino框架) 开发ESP32 _01_电容Touch和外部中断
ESP32的电容Touch和外部中断 一.主程序代码 #include <Arduino.h>// 定义外部中断的 mode // 0:无中断,读取touch值 // 1:touch中断, ...
- 【Arduino实验09 外部中断触发报警】
目录 一.实验目的 二.实验设备与环境 三.实验重点 四.实验难点 五.实验内容 5.1实验任务 5.2实验原理 5.3实验内容 5.4实验结果 5.5思考题 一.实验目的 (1)熟悉外部中断函数.自 ...
- Arduino 外部中断
外部中断 外部中断是由控制器设备发起的中断请求.停止再在执行的内容去执行中断函数中的内容 Arduino型号 int0 int1 int2 int3 int4 int5 UNO 2 3 – – – – ...
- STM32G070RBT6基于Arduino框架GPIO外部中断
STM32G070RBT6基于Arduino框架GPIO外部中断
- 玩转 ESP32 + Arduino (四) 电容按键 霍尔传感器 外部中断 延时 脉冲检测
一. 电容输入 touchRead(pin) 及电容输入中断touchAttachInterrupt(pin, TSR , threshold) ESP32专门提供了电容触摸传感器的功能, 共有T0, ...
最新文章
- yii2-wx / 微信二维码接口
- 腾讯信息流平台产品负责人牛津:个性化推荐的那些事儿
- mybatis mysql crud_Mybatis实现CRUD操作
- Java基础-SSM之mybatis快速入门篇
- Servlet编程专题6之Cookie
- 各种字符串合并处理示例.sql
- 走进我的交易室01_引子
- QT将窗体变为顶层窗体
- antd-pro1.0使用jest对react组件进行单元测试
- Hadoop yarn配置参数
- 2018/12/04 PAT刷题 L1-008 求整数段和 java
- 网约车源码 打车APP 同城打车代驾小程序源码
- 乐忧商城项目总结-5
- 使用腾讯轻量搭建Cydia软件源,随时随地稳定下载
- 什么是计算机网络中域名,什么是域名?
- 账号密码管理系统html,管理员密码一般是啥
- android 支付宝未安装,调用支付宝接口Android客户端没有支付宝APP的情况下解决无法调用支付宝页面的问题...
- 每天一个linux命令(33):atq命令
- 沈家桢博士:缘起性空与人生
- SSO JA-SIG