求助PHY6222定时器应用问题

蓝牙 BLE设备、蓝牙 MESH设备、蓝牙 Beacon设备、Sub-G设备等


Post Reply
wuyoujr
Posts: 4

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秒。请问是哪里的问题?


Tags:
User avatar
逻辑的院子
Posts: 311
Contact:

Re: 求助PHY6222定时器应用问题

8ms是通过什么方式测量出来的,请详细描述

wuyoujr
Posts: 4

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口翻转,然后用示波器抓取信号测量出来的

wuyoujr
Posts: 4

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口翻转,使用示波器测量的

wuyoujr
Posts: 4

Re: 求助PHY6222定时器应用问题

已解决,谢谢!

Post Reply