TI论坛
登录
直播中
桂莅鑫
7年用户
282经验值
私信
关注
谁有cc1310 看门狗的官方示例完整的
开启该帖子的消息推送
这是官方的示例代码,不完整。有些内容还没填,有没有完整的。
#include
#include <
ti
/drivers/watchdog/WatchdogCC26XX.h>
#include
void selfTestCallback(void);
//如果整个系统正常,则返回true
bool runSelfTest(void) [
return true;
]
//=====看门狗回调函数=======
void wdtCallback(UArg handle)
[
Watchdog_clear((Watchdog_Handle)handle);
]
//从Supervisor任务运行一次
void initializeSupervisor() [
// 1.在INT_WATCHDOG中断上注册watchdogHandler
Watchdog_Params wp;
Watchdog_Handle watchdog;
// 2. 注册自检回调以比看门狗超时更频繁地运行
Watchdog_Params_init(&wp);
wp.callbackFxn = wdtCallback;// 回调看门狗
wp.debugStallMode = Watchdog_DEBUG_STALL_ON;
wp.resetMode = Watchdog_RESET_ON;
// 3. 允许看门狗复位系统
WatchdogResetEnable();
// 4. 第一次到达零时设置重载值
WatchdogReloadSet(1500000); /* Set to 1 second, as Watchdog runs at 48MHz / 32 = 1.5MHz */
// 5. 启用并启动看门狗
WatchdogEnable();
]
//监督任务的主体
void supervisorTask() [
static bool systemOk;
while(1) [
events = Event_pend(supervisorEvent, 0, PERIODIC_SUPERVISOR_CHECK | WATCHDOG_EVENT, BIOS_WAIT_FOREVER);
if(events & PERIODIC_SUPERVISOR_CHECK) [
//运行自检以查看一切是否正常
systemOk = runSelfTest();
if(systemOk) [
//如果一切正常,清除中断,如果有的话,并复位看门狗定时器
WatchdogIntClear();
//清除等待中断状态标志
watchdogPending = 0;
]
else [
//一切都不好,处理这个!
//如果这可以恢复,然后调用WatchdogIntClear并将watchdogPending设置为零
]
]
if(events & WATCHDOG_EVENT) [
//看看为什么看门狗被触发没有自检运行ok!
//如果这可以恢复,然后调用WatchdogIntClear并将watchdogPending设置为零
]
]
]
//这个回调应该比配置的看门狗超时更频繁地运行,以便它有时间进行自检和启动看门狗
void selfTestCallback(void) [
// Run self-test
Event_post(supervisorEvent, PERIODIC_SUPERVISOR_CHECK);
]
//看门狗第一次超时时,看门狗中断运行,然后复位看门狗。
//如果中断标志在第二次超时之前未被清除,则芯片复位,只要配置了WatchdogResetEnable()。
void watchdogHandler(void) [
//清除看门狗超时一次
WatchdogIntClear();
//检查看门狗中断是否已经运行一次
if(watchdogPending) [
//如果是这样,挂起并等待即将复位
while(1);
]
else [
//标志我们已经运行了看门狗中断一次
watchdogPending = 1;
//通知主管
Event_post(supervisorEvent, WATCHDOG_EVENT);
]
]
回帖
(1)
蒋美燕
2018-5-15 01:20:50
TI RTOS里面有,请看这边: https://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156/t/529212
TI RTOS里面有,请看这边: https://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156/t/529212
举报
更多回帖
rotate(-90deg);
回复
相关问答
cc1310
仿真能测出
看门狗
复位效果吗
2018-06-24
1048
现在
CC1310
有没有可以使用的
官方
协议栈,可以实现组网的?
2016-03-09
9009
请问
CC1310
的更新进度
2018-06-21
1928
CC1310
检测信号冲突的问题
2018-06-24
3400
CC1310
无法1Mbps抓包?
2016-03-28
5011
如何实现
CC1310
硬件电路设计?
2021-04-19
1117
有没有
cc
13xx
看门狗
示例
程序分享?
2018-05-15
2512
请问怎么控制
CC1310
功放的开关啊?
2019-01-23
1625
关于
CC1310
前导码设置
2018-05-14
2178
CC1310
系统任务时间片
2017-10-12
1531
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分