微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > CC3200 看门狗中 sl_Stop(30);的使用问题

CC3200 看门狗中 sl_Stop(30);的使用问题

时间:10-02 整理:3721RD 点击:

看门狗程序如下:

fAPPWDTDevCallbk WDT_Callback()
{
sl_Stop(30);
MAP_PRCMHibernateIntervalSet(330);
MAP_PRCMHibernateWakeupSourceEnable(PRCM_HIB_SLOW_CLK_CTR);
MAP_PRCMHibernateEnter();
return 0;
}

当程序崩溃时运行该函数从bootloader重启,但是我不知道程序崩溃时最后一个操作是 sl_Start();还是sl_Stop();

如果是sl_Stop();

看门狗程序会不会卡在sl_Stop();(貌似曾经被卡过)这个地方。

如果是sl_Start();将会正常重启;

如果要判断最后操作的到底是哪个该怎么写程序不会影响运行,还能正常重启。

1.你这个不是看门狗啊,是直接进睡眠。看门狗不需要sl_stop(),直接死循环就完了。

2. sl_start()和sl_stop() 成对出现,不能连续调也不能反。只能是start->stop->start-stop.

你好,我描述不到位,补充一下,这个函数是看门狗中断回调函数,当看门狗超时触发的时候会运行该函数,触发后我想通过睡眠后的唤醒再次加载程序恢复到正常状态。

1.如果看门狗回调函数里面没有sl_Stop()这句;万一前面最后执行的是sl_Start();就看门狗超时了进入回调函数,那睡眠唤醒之后初始化第一句一定是sl_Start();程序会不会卡住?

2.如果看门狗回调函数里面有sl_Stop()这句;万一前面最后执行的sl_Stop()看门狗就超时了进入回调函数,那回调函数岂不是会卡住?不能正常睡眠和重启?

进入睡眠的时候如果不sl_Stop()  wifi核是不是不会reset?

问题的关键就是触发看门狗的是随机事件,触发看门狗之前最后一句到底是sl_Stop()呢还是sl_Start()呢?

程序初始化的时候有若干sl_Start()和sl_Stop()都是满足成对出现的要求;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top