Part Number:CC1312R
Hi,TI,
产品中需要用到交流电通过互感线圈来取电,之前一直通过直流电测试,但是现场测试时掉电厉害一直启动不了
想着在程序执行前休眠五六分钟,让电源先充电,
int main(void)
{
/* Call driver init functions. */
Board_initGeneral();
TimerTask_init();
echoTask_init();
/* Start BIOS */
BIOS_start();
return (0);
}
之前想着让计时器一直计时五六分钟,但是不做事情,不让RF打开,但是貌似这样还是不行,还是启动不了
想问下在程序之前什么函数可以直接让程序休眠等待固定时间?
Kevin Qiu1:
休眠可以用sleep函数,单位是秒
,
J M:
你好,我这边在bios启动之前使用sleep,为什么我debug的时候在sleep之后打上断点,却执行不到这里?
,
Kevin Qiu1:
我试了下是可以的,单步运行也是可以的
,
J M:
如上图所示,我在休眠时候会进行计时器操作和射频操作,加sleep的意图是为了让互感线圈给电容充电,但是貌似加了sleep之后后面的程序就没成功运行
,
Kevin Qiu1:
比应该把sleep放在 *mainThread中,另外在交流线圈中休眠也不一定有用,
最好是从屏蔽干扰方面入手,你先试试看
,
user6370980:
请问您这个问题解决了吗?我最近碰到了类似的问题,一上电板载初始化后立即进入休眠,还有1ma的电流
,
likang LI:
从这应用来说,前期需要给前端电容充电,电容选型是关键,硬件原理是 使用电容充放电 ,软件需要休眠+定时唤醒 发报文
,
J M:
通过这段时间的排查,初步得出的结论是1312的芯片的休眠电流并没有说明书上写的那么小,还是会产生挺大电流,实际运行时放电厉害无法使芯片正常工作
,
J M:
是这么个道理,硬件是这么设计的,软件也是通过sleep(30)然后发送报文的方式,但是还是没撑到发送报文就重启了
,
likang LI:
这个很大可能是电容选型问题 电容 容量不够, 或者是硬件 设计不理想 。首先一点可以确认 不 ,发射能量不足 导致拉电源 直接重启
,
likang LI:
还有个问题 就是 外部时钟 晶振 硬件是否合理 ,不合理容易导致 休眠泄漏电流