T1 怎么实现一个稳定的433收发外设
依照这个帖子的内容,https://www.tuyaos.com/viewtopic.php?t=9251,T1的硬件定时器总是会被打断,实现不了433的发送,请问有什么好方法吗
依照这个帖子的内容,https://www.tuyaos.com/viewtopic.php?t=9251,T1的硬件定时器总是会被打断,实现不了433的发送,请问有什么好方法吗
你好,你这个现象就是被其他中断打断了,433发送或者接收的时候,需要把总中断临时关闭,然后再开启,注意这个总中断不能关闭太久。可以参考我们应用开发包使用的红外接收的时序去开关总中断
/**
/**
static void __tdd_t1_32k_enable(T1_REG_T *reg_val)
{
if (0 != reg_val->val_32k) {
*(volatile unsigned long *) (0x00802A00 + 0x13 * 4) |= reg_val->val_32k;
reg_val->val_32k = 0;
}
}
static void __tdd_t1_32k_disable(T1_REG_T reg_val)
{
if (0 == reg_val->val_32k) {
reg_val->val_32k = ((volatile unsigned long *) (0x00802A00 + 0x13 * 4)) & 0x7;
*(volatile unsigned long *) (0x00802A00 + 0x13 * 4) &= 0xFFFFFFF8;
}
}