红外协议解析

红外协议解析

设计思路

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;
    }
    
posted @ 2018-11-26 22:55  zongzi10010  阅读(257)  评论(0编辑  收藏  举报