1)开发包全名:PHY6222_TuyaOS-3.11.0
2)问题现象:
hal_timer_init(timer_int_process);
hal_timer_mask_int(AP_TIMER_ID_5,1);
hal_timer_set(AP_TIMER_ID_5,1000);
按上述初始化定时器5定时1ms,实际出来8ms秒。请问是哪里的问题?
求助PHY6222定时器应用问题
求助PHY6222定时器应用问题
Tags:
Re: 求助PHY6222定时器应用问题
void timer_int_process(uint8_t evt)
{
switch(evt)
{
case HAL_EVT_TIMER_5:
TY_PRINTF("t5\n");
if(TestVar==0)
{
TestVar = 1;
tal_gpio_write(TUYA_GPIO_NUM_0, TUYA_GPIO_LEVEL_HIGH);
}
else
{
TestVar = 0;
tal_gpio_write(TUYA_GPIO_NUM_0, TUYA_GPIO_LEVEL_LOW);
}
break;
Code: Select all
case HAL_EVT_TIMER_6:
TY_PRINTF("t6\n");
break;
case HAL_EVT_WAKEUP:
TY_PRINTF("wakeup\n");
TY_PRINTF("timer will disable when sleep,so if you want it work please init it when wakeup");
break;
case HAL_EVT_SLEEP:
TY_PRINTF("sleep\n");
break;
default:
TY_PRINTF("err ");
break;
}
}
通过在回调函数内的IO口翻转,然后用示波器抓取信号测量出来的
Re: 求助PHY6222定时器应用问题
void timer_int_process(uint8_t evt)
{
switch(evt)
{
case HAL_EVT_TIMER_5:
TY_PRINTF("t5\n");
if(TestVar==0)
{
TestVar = 1;
tal_gpio_write(TUYA_GPIO_NUM_0, TUYA_GPIO_LEVEL_HIGH);
}
else
{
TestVar = 0;
tal_gpio_write(TUYA_GPIO_NUM_0, TUYA_GPIO_LEVEL_LOW);
}
break;
Code: Select all
case HAL_EVT_TIMER_6:
TY_PRINTF("t6\n");
break;
case HAL_EVT_WAKEUP:
TY_PRINTF("wakeup\n");
TY_PRINTF("timer will disable when sleep,so if you want it work please init it when wakeup");
break;
case HAL_EVT_SLEEP:
TY_PRINTF("sleep\n");
break;
default:
TY_PRINTF("err ");
break;
}
}
通过回调函数里面进行IO口翻转,使用示波器测量的
Re: 求助PHY6222定时器应用问题
已解决,谢谢!