红外协议
Posted D·Kingson.Mo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了红外协议相关的知识,希望对你有一定的参考价值。
NEC红外线编码协议
一、NEC标准
在NEC标准中,部分遥控码表示方法如下,并且数据都是使用LSB低位先发送方式传输。当某个按键按下时,系统首先会发送一个完整的全码,而当某个按键被一直按着持续108ms以上还没松开时,系统就会发送不携带任何数据的连发码,其中前16位为用户识别码,用于区分其他的红外遥控设备,避免不同机种的遥控码之间互相干扰,接下来的16位是8位的操作码和8位的操作反码,用于判断数据是否准确接收。
1.遥控码表示方式
遥控码 | 表示方式 |
---|---|
逻辑0 | 0.56ms高电平+0.565ms低电平 |
逻辑1 | 0.56ms高电平+1.69ms低电平 |
引导码 | 9ms高电平+4.5ms低电平 |
连发码 | 9ms起始码+2.5ms结束码 |
全码 | 引导码+用户码(8bit)+用户反码(8bit)+数据码(8bit)+数据反码8(bit) |
2.时序图
1)逻辑“0”与逻辑“1”
2)NEC典型脉冲链
红外协议解析
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; }
以上是关于红外协议的主要内容,如果未能解决你的问题,请参考以下文章