使用rt-thread的infrared组件,可以轻松上手红外遥控功能。
开启NEC解码,根据硬件设计修改使用的引脚和定时器标识。
先使能hwtimer驱动
然后在main函数调用:
#include <infrared.h>
struct infrared_decoder_data infrared_data;
int main(void)
{
ir_select_decoder("nec");
while (1)
{
/* 读取数据 */
if (infrared_read("nec", &infrared_data) == RT_EOK)
{
if (infrared_data.data.nec.repeat)
{
rt_kprintf("repeat%d\n", infrared_data.data.nec.repeat);
}
else
{
rt_kprintf("APP addr:0x%02X key:0x%02X\n", infrared_data.data.nec.addr, infrared_data.data.nec.key);
}
}
rt_thread_mdelay(10);
}
return RT_EOK;
}
就可以看到效果了~
最后工程下载