bk7231n driver/irda 红外硬件中断失效的情况
Posted: 2023年 Aug 31日 11:15
在最新下载的 3.3.4 sdk中,幻彩代码申请的是tuyaos_wf_bk7231n_lig-tuyaos_wf_bk7231n_lig_pixels,使用driver/irda中的红外硬件中断来做红外接收,功能都正常,只有在进入灯珠裁剪的时候,会使红外硬件中断失效,即使退出裁剪,也无法恢复红外功能,只能重新进行初始化,这个是什么原因造成的?
在最新下载的 3.3.4 sdk中,幻彩代码申请的是tuyaos_wf_bk7231n_lig-tuyaos_wf_bk7231n_lig_pixels,使用driver/irda中的红外硬件中断来做红外接收,功能都正常,只有在进入灯珠裁剪的时候,会使红外硬件中断失效,即使退出裁剪,也无法恢复红外功能,只能重新进行初始化,这个是什么原因造成的?
你可以使用我们提供的跨平台的红外驱动。驱动如下:
如何使用可以参考下面的内容:
viewtopic.php?t=1286
误差码配置可以参考下面的图片:
这里的错误码配置会影响解码的成功率,你可以根据实际情况进行修改
红外驱动,测试OK,只是反应速度,比irda硬件中断,慢了不少
Code: Select all
IR_DRV_CFG_T ir_hw_cfg = {
.send_pin = IR_INPUT_INVALID,
.recv_pin = GPIO_NUM_26,
.send_timer = TIMER_NUM_0,
.recv_timer = TIMER_NUM_0,
.send_duty = 50,
};
OPERATE_RET ret = tdd_ir_driver_register(IR_DEV_NAME, IR_DRV_SINGLE_TIMER, ir_hw_cfg);
if (OPRT_OK != ret) {
TAL_PR_NOTICE("tdd_ir_driver_register error: %d", ret);
return;
}
15986672621 2023年 Aug 31日 14:11红外驱动,测试OK,只是反应速度,比irda硬件中断,慢了不少
Code: Select all
IR_DRV_CFG_T ir_hw_cfg = { .send_pin = IR_INPUT_INVALID, .recv_pin = GPIO_NUM_26, .send_timer = TIMER_NUM_0, .recv_timer = TIMER_NUM_0, .send_duty = 50, }; OPERATE_RET ret = tdd_ir_driver_register(IR_DEV_NAME, IR_DRV_SINGLE_TIMER, ir_hw_cfg); if (OPRT_OK != ret) { TAL_PR_NOTICE("tdd_ir_driver_register error: %d", ret); return; }
可以详细说一下吗,这边看一下能不能做出一些改善。
你这里使用的是 tdl_ir_config(ir_handle, IR_CMD_RECV_CB_REGISTER, app_ir_recv_cb); 这注册回调的方式吗?