主题中讨论的其他器件: CC2650、 CC2640
大家好!
我使用的是 Launchxl-CC2650。
BLE SDK 2_02_07_06
TI RTOS 2.21.1.08
CCS7.4
编译器 TI Ver.5.2.6。
我已经在 uart_echo 示例代码中添加了看门狗驱动程序的代码。
我可以看到 UART 可以成功在串行端口上打印。
CC2650也会在看门狗计时器到期时重新启动。
我正在对看门狗回调函数中的 UART 端口进行写入、但未调用该函数。
请帮助
谢谢!
D·萨尔维
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好!
我使用的是 Launchxl-CC2650。
BLE SDK 2_02_07_06
TI RTOS 2.21.1.08
CCS7.4
编译器 TI Ver.5.2.6。
我已经在 uart_echo 示例代码中添加了看门狗驱动程序的代码。
我可以看到 UART 可以成功在串行端口上打印。
CC2650也会在看门狗计时器到期时重新启动。
我正在对看门狗回调函数中的 UART 端口进行写入、但未调用该函数。
请帮助
谢谢!
D·萨尔维
您好!
代码按如下所示进行更改。
const WatchdogCC26XX_HWAttrs watchdogCC26XXHWAttrs[CC2650_LAUNCHXL_WATCHDOGCOUNT] = {
{
.baseAddr = WDT_BASE,
// .intNum = INT_WDT_IRQ,//INT_NMI_FAULT
.intNum = INT_NMI_FAULT,
.reloadValue = 1000 /* Reload value in milliseconds */
},
};
现在、
调用 WDT 回调函数、但仅在连接了调试器时。
当我断开调试器时、CC2650不会调用 WDT 回调函数
(我要在 WDT 回调函数中切换 LED)
德尼亚内什瓦尔
-当您说回叫没有发生时,您是否知道设备上发生了什么? -是的,在回调 LED 被切换
-你的回叫 只 切换一个 LED,而没有其他任何东西? LED 仅被切换
-你做了一个项目的重建之间闪存与连接的调试器和没有? -我尝试了两种方式,我断开了调试器,做了清理,重建-闪存代码
然后我尝试、我保持调试器连接、然后清理干净、重新编译-Flash 代码。
这两次,
如果我有时成功地将电源连接到切换 LED 的 PCB 器件、但如果我再接通电源、有时会失败。
是的、这也在没有连接调试器的情况下调用回调、但不是每次我对 PCB 进行下电上电时。
-最后,你能告诉我,在你的代码中,你要从哪里更改 hwAttrs 结构? -它位于"CC2650_LAUNCHXL.c"文件中
我们发送了一些设备进行现场测试、 面临我可以使用看门狗解决的问题、因此我必须向设备添加看门狗代码才能实现不间断运行。
这种胎纹在过去23天内未得到解决、 请您尽快提供解决方案
此致、
D·萨尔维
尊敬的 Dnyaneshvar:
我希望您做以下两件事:
-在看门狗回调中,在中断处理程序中添加 Watchdog_clear(),作为回调函数的第一行,如果尚未完成。
-打开热复位转换为系统复位功能。 在 CC2650器件上、默认情况下、如果看门狗将器件复位、则称为热复位。 根据技术参考手册、这可能会使器件处于未知状态。 因此、强烈建议将热复位转换为系统复位。 为此、需将 WARMRESET 寄存器中的 WR_TO_PINRESET 位写入1。 如何执行此操作的一个示例包含在第416行中的 src 中的示例/util/2im_extflash/cc2640/bim_main.c 文件中
此胎纹在过去23天仍未解决, 请请求您尽快提供解决方案
关于这一点,它不是好像我试图拒绝你的解决方案 Dnyaneshvar ,我正在试图尽快解决这个问题. 感谢您对此问题的耐心与合作。
此致!
阿赫尤特·雷