title: 红外协议解析
tags: ARM
date: 2018-11-06 17:55:26
红外协议解析
设计思路
NEC红外波形是由引导码,数据码,结束码组成,不同的编码时间间隔不一致.可以采用环形缓冲区的形式先将波形存储,然后处理.环形缓冲区存储着电平状态以及持续时间.
-
中断配置双边沿,作为生产者存储数据
-
主循环读取环形缓冲区,根据时间参数解析
-
这里使用定时器产生系统时间,采用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; }