码迷,mamicode.com
首页 > 其他好文 > 详细

红外协议解析

时间:2018-11-27 01:42:37      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:思路   定时器中断   存储   定时   协议   数据   中断   形式   ret   


title: 红外协议解析
tags: ARM
date: 2018-11-06 17:55:26
---

红外协议解析

设计思路

NEC红外波形是由引导码,数据码,结束码组成,不同的编码时间间隔不一致.可以采用环形缓冲区的形式先将波形存储,然后处理.环形缓冲区存储着电平状态以及持续时间.

  1. 中断配置双边沿,作为生产者存储数据

  2. 主循环读取环形缓冲区,根据时间参数解析

  3. 这里使用定时器产生系统时间,采用10ms定时器中断,那么如何获得到us的精度?这里再次读取定时器寄存器值

    unsigned long long get_system_time_us(void)
    {
     unsigned long long us = (50000 - TCNTO0)/5;
     return g_system_time_10ms_cnt * 10 * 1000 + us;
    }

红外协议解析

标签:思路   定时器中断   存储   定时   协议   数据   中断   形式   ret   

原文地址:https://www.cnblogs.com/zongzi10010/p/10023652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!