之前仅检测过一个引脚上一种方波信号,现在要再引脚上区分三种不同的波形。着实头大了好一会儿。

要检测的三种波形如下图所示:

每种波形的持续长度为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单片机检测不同类型的方波相关推荐

  1. 物联网之ZIGBEE学习(2) CC2530单片机与ZIGBEE

    我们学习ZIGBEE要绑定使用TI的CC2530单片机,为什么,为什么不用STM32,51,MSP430,Raspberry PI呢? 因此ZIGBEE和蓝牙,WIFI一样,是一种传输协议,如果要理解 ...

  2. python模块之imghdr检测图片类型

    python模块之imghdr检测图片类型 1. imghdr是什么 imghdr是一个用来检测图片类型的模块,传递给它的可以是一个文件对象,也可以是一个字节流.[仅仅根据文件后缀判断文件类型显然不准 ...

  3. 微型计算机的典型应用场景,单片机有哪些类型和应用场景?-MCU解决方案

    单片机是一种小型且低成本的微型计算机,其被设计为执行的嵌入式系统的特定任务,有多种MCU解决方案,如显示微波的信息,接收远程信号等.单片机包括处理器,存储器(RAM,ROM,EEPROM).串行端口. ...

  4. 单片机检测220V交流电通断电路

    我们在topemic网站上分享过一篇题为"单片机检测220V交流电通断电路"的文章,目前有近万次阅读,在这里做个总结分享给没有读过该文的公众号朋友. 废话不多说,直接上图: 该电路 ...

  5. javascript检测浏览器类型和版本号(兼容各浏览器)

    代码  1 from: http://www.webreference.com/tools/browser/javascript.html  2 http://browserspy.dk/browse ...

  6. 如何正确检测文件类型?

    在上传文件时,在某些情况下我们希望能限制文件上传的类型,比如限制只能上传 PNG 格式的图片.我们可以通过 input元素的 accept 属性来限制上传的文件类型, 例如: <input ty ...

  7. Android获取系统的硬件信息、系统版本以及如何检测ROM类型

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/52438706 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

  8. 绕过content-type检测文件类型上传webshell

    声明:以下内容均来自"实验吧"免费公益渗透平台,该平台至今仍旧在维护,估计~~,为此把以前保留的笔记拿来分享下. [实验目的]    1) 理解绕过Content-Type检测文件 ...

  9. 利用CC2530单片机的蜂鸣器播放音乐的代码

    使用 CC2530 单片机播放音乐需要使用蜂鸣器,这是一个较简单的方法. 下面是一个例子,它使用蜂鸣器播放了著名的<莫扎特第五交响曲>的第一段: #include "ioCC25 ...

最新文章

  1. OpenNESS 的 5GC 融合实践
  2. 预处理命令 || 宏定义 || 带参数的宏定义
  3. SharePoint 2013 图文开发系列之WebPart
  4. Android源码分析--MediaServer源码分析(二)
  5. AI理论知识整理(10)-向量空间与矩阵(1)
  6. Merge Two Sorted Lists leetcode java
  7. C++实现具有[数组]相似特征的类DoubleSubscriptArray
  8. 机器学习框架_一文了解机器学习框架-TensorFlow的原理和用途
  9. JAVA变量初始化赋值null
  10. 微信开发 完美微信自动转发朋友圈-flutterAndroid
  11. Unity MVC实现背包系统(2)
  12. html表格添加序号,通过layui给数据表格添加序号
  13. Docker神器之百度云下载(群辉 LEDE)
  14. 贪玩蓝月-大漠模拟脚本源码
  15. 通过自定义的key进行加密解密
  16. VMware下载及安装(附带下载地址)
  17. MAC升级到10.12.4 SVN CornerStone 一直连接不上的问题 2017年5月16更新
  18. Python 学生管理系统
  19. 关于碰撞过程中的质量守恒问题
  20. matlab 四维曲面,三维模拟四维的Matlab实现.pdf

热门文章

  1. C语言中的%d、%u、%p、%f、%lu...
  2. Sqli-labs之Less-17
  3. “一路向南,dream it possible”之旅--骑行从北京到成都(一)
  4. C# ——web网站发布服务器
  5. SAP那些事-职业篇-10-顾问最重要的思维方式
  6. Python2和python3中类型判断
  7. 复制网页上不能复制的文章的方法
  8. hosts.allow和hosts.deny
  9. Python爬虫报错HTTPSConnectionPool(host=‘heat.qq.com‘, port=443)处理
  10. python3使用代理 报错MaxRetryError