TI的CC2530单片机检测不同类型的方波
之前仅检测过一个引脚上一种方波信号,现在要再引脚上区分三种不同的波形。着实头大了好一会儿。
要检测的三种波形如下图所示:
每种波形的持续长度为500us,时间间隔为10ms.
比如我们在P0_2上检测这个波形,首先要对P0_2进行初始化操作,允许中断检测,这里就不详细介绍了。
从三种波形图来看,起始都是高电平,然后拉低为低电平之后,开始产生波形,因此首先通过中断检测到下降沿,则表示波形开始。
区分原理如下:
1. 从低电平到高电平,说明波形开始。
2. 延时到位置1,如果还是低电平,则表示波形1.
延时到位置2,如果还是低电平,则表示波形2.
延时到位置3,为高电平,且延时到位置4为低电平,则为波形3.
3. 重复2的检测,知道持续出现700us左右的高电平,表示波形结束。
当然这个持续时间可以根据自己需求来定义。
注意:延时函数必须非常准确,可参考我的另一博客:延时函数
参考代码如下:
bool over=false;uint8 btype=0;if(Status2==0||(P0IFG&BV(0))>0) { while(!over){//检测波形while(Status2==0);//如果2一直为低电平,则直到检测到高电平结束Delay_us_New(75);//延时100usif(Status2==0){ Delay_us_New(90); if(Status2==1)btype=1;Delay_us_New(75); Delay_us_New(75);Delay_us_New(75);}else{Delay_us_New(130); //延时170微妙if(Status2==0){ btype=2;Delay_us_New(75);Delay_us_New(75);}else{ Delay_us_New(130); Delay_us_New(75);if(Status2==0)btype=3;} }//670us左右仍是高电平Delay_us_New(75);Delay_us_New(75);if(Status2!=0){//表示波形结束over=true;} }}
TI的CC2530单片机检测不同类型的方波相关推荐
- 物联网之ZIGBEE学习(2) CC2530单片机与ZIGBEE
我们学习ZIGBEE要绑定使用TI的CC2530单片机,为什么,为什么不用STM32,51,MSP430,Raspberry PI呢? 因此ZIGBEE和蓝牙,WIFI一样,是一种传输协议,如果要理解 ...
- python模块之imghdr检测图片类型
python模块之imghdr检测图片类型 1. imghdr是什么 imghdr是一个用来检测图片类型的模块,传递给它的可以是一个文件对象,也可以是一个字节流.[仅仅根据文件后缀判断文件类型显然不准 ...
- 微型计算机的典型应用场景,单片机有哪些类型和应用场景?-MCU解决方案
单片机是一种小型且低成本的微型计算机,其被设计为执行的嵌入式系统的特定任务,有多种MCU解决方案,如显示微波的信息,接收远程信号等.单片机包括处理器,存储器(RAM,ROM,EEPROM).串行端口. ...
- 单片机检测220V交流电通断电路
我们在topemic网站上分享过一篇题为"单片机检测220V交流电通断电路"的文章,目前有近万次阅读,在这里做个总结分享给没有读过该文的公众号朋友. 废话不多说,直接上图: 该电路 ...
- javascript检测浏览器类型和版本号(兼容各浏览器)
代码 1 from: http://www.webreference.com/tools/browser/javascript.html 2 http://browserspy.dk/browse ...
- 如何正确检测文件类型?
在上传文件时,在某些情况下我们希望能限制文件上传的类型,比如限制只能上传 PNG 格式的图片.我们可以通过 input元素的 accept 属性来限制上传的文件类型, 例如: <input ty ...
- Android获取系统的硬件信息、系统版本以及如何检测ROM类型
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/52438706 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...
- 绕过content-type检测文件类型上传webshell
声明:以下内容均来自"实验吧"免费公益渗透平台,该平台至今仍旧在维护,估计~~,为此把以前保留的笔记拿来分享下. [实验目的] 1) 理解绕过Content-Type检测文件 ...
- 利用CC2530单片机的蜂鸣器播放音乐的代码
使用 CC2530 单片机播放音乐需要使用蜂鸣器,这是一个较简单的方法. 下面是一个例子,它使用蜂鸣器播放了著名的<莫扎特第五交响曲>的第一段: #include "ioCC25 ...
最新文章
- OpenNESS 的 5GC 融合实践
- 预处理命令 || 宏定义 || 带参数的宏定义
- SharePoint 2013 图文开发系列之WebPart
- Android源码分析--MediaServer源码分析(二)
- AI理论知识整理(10)-向量空间与矩阵(1)
- Merge Two Sorted Lists leetcode java
- C++实现具有[数组]相似特征的类DoubleSubscriptArray
- 机器学习框架_一文了解机器学习框架-TensorFlow的原理和用途
- JAVA变量初始化赋值null
- 微信开发 完美微信自动转发朋友圈-flutterAndroid
- Unity MVC实现背包系统(2)
- html表格添加序号,通过layui给数据表格添加序号
- Docker神器之百度云下载(群辉 LEDE)
- 贪玩蓝月-大漠模拟脚本源码
- 通过自定义的key进行加密解密
- VMware下载及安装(附带下载地址)
- MAC升级到10.12.4 SVN CornerStone 一直连接不上的问题 2017年5月16更新
- Python 学生管理系统
- 关于碰撞过程中的质量守恒问题
- matlab 四维曲面,三维模拟四维的Matlab实现.pdf
热门文章
- C语言中的%d、%u、%p、%f、%lu...
- Sqli-labs之Less-17
- “一路向南,dream it possible”之旅--骑行从北京到成都(一)
- C# ——web网站发布服务器
- SAP那些事-职业篇-10-顾问最重要的思维方式
- Python2和python3中类型判断
- 复制网页上不能复制的文章的方法
- hosts.allow和hosts.deny
- Python爬虫报错HTTPSConnectionPool(host=‘heat.qq.com‘, port=443)处理
- python3使用代理 报错MaxRetryError