捕获格力、海尔空调遥控器协议 您所在的位置:网站首页 空调遥控器电路图详解 捕获格力、海尔空调遥控器协议

捕获格力、海尔空调遥控器协议

2023-12-24 14:03| 来源: 网络整理| 查看: 265

捕获格力、海尔空调遥控器协议 红外接收管工作时处于反接状态。没有红外光照射时,电流非常小,内阻很大,输出到单片机IO的口的电压约等于5V;被红外光照射时,电流加大,内阻变小,输出低电平。红外接收二极管电路捕获思路:定一个大数组,每当IO口产生跳变沿(上升沿或下降沿)将计时时间保存下来,同时启动下一次计时。一段时间后,将时间通过串口发送到电脑,显示 相邻两次跳变沿的时间就是高电平或低电平的时间。 在这里插入图片描述 3.用NXP K60,写代码捕获 uint32 high[1000]; //定时数据 uint32 count=0; //跳变沿个数 void PORTA_IRQHandler(void) //PORTA中断函数 { PORTA->ISFR = 0xffffffff;//清除中断标志位 /*把时间保存到数组,定时时间=定时器计数值/总线时钟*/ high[count++]= (0xffffffff - PIT->CHANNEL[0].CVAL)/bus_clk_mhz; pit_time_start(pit0); //启动下一次计时 } int main(void) { int i,Double=0,effective=0; gpio_init(E26,GPO,1);//LED指示灯 gpio_init(A19,GPO,1);//红外接收引脚 uart_init(uart4,115200);//串口初始化,波特率115200 pit_init_ms(pit0,1000);//设置定时1秒 port_init(A19,ALT1|PULLUP|IRQ_FALLING);//设置接收管引脚上升沿和下降沿产生中断 while(1) { gpio_set(E26,1); //先让指示灯灭 while(count19000)printf("\n");//遇到连接码也空出一行 } } printf("effect:%d",effective/2);//编码数据长度=有效长度/2(高-低表示1位) //为下一次测量清零 effective=0; for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有