最底层与硬件打交道的驱动: 1 硬件初始化 (初始化 控制寄存器, 时钟控制器,中断寄存器--当fifo不为空就产生中断等) 2 软件初始化 为句柄付初值.
3 中断处理函数 当有数据需要decode 就会调用 ir_decode,ir_decode 调用ir_state_change. 里面检测脉冲4个状态来确定开始和结束.当接收完一个包,就解析出码
cmd= (pinstance->packet & 0xff00) >> 8;
not_cmd= (~(pinstance->packet) )&& 0x00ff);