参考正点原子的程序。
[程序下载链接https://download.csdn.net/download/sea1216/13710130]
NEC协议特征
--------------------------main.c-------------------
//遥控器识别码为0
#define REMOTE_ID 0
//遥控器接收状态
//[7]:收到了引导码标志
//[6]:得到了一个按键的所有信息
//[5]:保留
//[4]:标记上升沿是否已经被捕获
//[3:0]:溢出计时器
uint8_t RmtSta=0;
uint16_t Dval; //下降沿时计数器的值
uint32_t RmtRec=0; //红外接收到的数据
uint8_t RmtCnt=0; //按键按下的次数
uint8_t key;
int main()
{
HAL_TIM_Base_Start_IT(&htim1);
HAL_TIM_IC_Start_IT(&htim1,TIM_CHANNEL_1);
printf("test\r\n");
while (1)
{
//我的红外OK:56,UP:24,DOWN:74,LEFT:16,RIGHT:90
key=Remote_Scan();
if(key)
{
printf("key=%d\r\n",key);
printf("num=%d\r\n",RmtCnt);
}
HAL_Delay