简体中文
简体中文
English
注册
登录
简体中文
简体中文
English
注册
登录
语言
简体中文
简体中文
English
注册
登录

TuyaOS BK7231N us延时不准怎么办?

更新时间2025-03-27 01:44:00
fiq中断和32k中断可能会影响us延时。可以尝试关闭一下fiq和32k中断,但是不能超过 40 s, fiq (主要用于网络数据传输)、32k定时器中断(会用于线程调度)和屏蔽其他一些外设的中断。TuyaOS 中的看门狗会 20s 喂狗一次,3次不喂狗就会重启。关闭了 32k,定时器中断,也就无法进行远程调度了,无法喂狗了,导致设备重启。
中断函数定义如下:
staticvoid__tdd_bk7231n_32k_enable(BK7231N_REG_T*reg_val)
{
if (0!=reg_val->val_32k) {
*(volatileunsignedlong*) (0x00802A00+0x13*4) |=reg_val->val_32k;
reg_val->val_32k=0;
    }
}
staticvoid__tdd_bk7231n_32k_disable(BK7231N_REG_T*reg_val)
{
if (0==reg_val->val_32k) {
reg_val->val_32k= (*(volatileunsignedlong*) (0x00802A00+0x13*4)) &0x7;
*(volatileunsignedlong*) (0x00802A00+0x13*4) &=0xFFFFFFF8;
    }
}
staticvoid__tdd_bk7231n_fiq_enable(void)
{
*(volatileunsignedlong*) (0x00802000+0x11*4) |=0x00000002;
return;
}
/**
 * @brief bk7231n fiq disable
 *
 * @param[in] none: none
 *
 * @return none
 */
staticvoid__tdd_bk7231n_fiq_disable(void)
{
*(volatileunsignedlong*) (0x00802000+0x11*4) &=0xFFFFFFFD;
return;
}

点击获取服务和帮助

帮助中心