PROP_ERROR_RXBUF错误 怎么解决
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.
还有个问题 看门狗计时结束后系统没有复位,调用SysCtrlSystemReset函数也不能复位
#include "bsp_watchdog.h"
#define TIMEOUT_MS 1000
#define SLEEP_US 500000
/*
* ======== watchdogCallback ========
*/
void watchdogCallback(uintptr_t watchdogHandle)
{
/*
* If the Watchdog Non-Maskable Interrupt (NMI) is called,
* loop until the device resets. Some devices will invoke
* this callback upon watchdog expiration while others will
* reset. See the device specific watchdog driver documentation
* for your device.
*/
myPrintf("Watchdog reset!\r\n");
usleep(SLEEP_US);
SysCtrlSystemReset();
while (1) {}
}
/*
* ======== gpioButtonIsr ========
*/
void gpioButtonIsr(uint_least8_t index)
{
// GPIO_write(Board_GPIO_LED0, Board_GPIO_LED_ON);
/*
* Simulate the application being stuck in an ISR. This ISR can be
* preempted by the watchdog Non-Maskable Interrupt (NMI).
*/
while (1) {}
}
void WatchdogTask(UArg arg0, UArg arg1)
{
Watchdog_Handle watchdogHandle;
Watchdog_Params params;
uint32_t reloadValue;
/* Call driver init functions */
Watchdog_init();
/* Open a Watchdog driver instance */
Watchdog_Params_init(¶ms);
params.callbackFxn = (Watchdog_Callback) watchdogCallback;
params.debugStallMode = Watchdog_DEBUG_STALL_ON;
params.resetMode = Watchdog_RESET_ON;
watchdogHandle = Watchdog_open(Board_WATCHDOG0, ¶ms);
if (watchdogHandle == NULL) {
/* Error opening Watchdog */
while (1) {}
}
/*
* The watchdog reload value is initialized during the
* Watchdog_open() call. The reload value can also be
* set dynamically during runtime.
*
* Converts TIMEOUT_MS to watchdog clock ticks.
* This API is not applicable for all devices.
* See the device specific watchdog driver documentation
* for your device.
*/
reloadValue = Watchdog_convertMsToTicks(watchdogHandle, TIMEOUT_MS);
/*
* A value of zero (0) indicates the converted value exceeds 32 bits
* OR that the API is not applicable for this specific device.
*/
if (reloadValue != 0) {
Watchdog_setReload(watchdogHandle, reloadValue);
}
Power_disablePolicy();
while (1) {
/*
* Disabling power policy will prevent the device from entering
* low power state. The device will stay awake when the CPU is
* idle.
*/
// Power_disablePolicy();
/* Sleep for SLEEP_US before clearing the watchdog */
usleep(SLEEP_US);
Watchdog_clear(watchdogHandle);
// GPIO_toggle(Board_GPIO_LED0);
/*
* Enabling power policy will allow the device to enter a low
* power state when the CPU is idle. How the watchdog peripheral
* behaves in a low power state is device specific.
*/
// Power_enablePolicy();
//
// /* Sleep for SLEEP_US before clearing the watchdog */
// usleep(SLEEP_US);
// Watchdog_clear(watchdogHandle);
// GPIO_toggle(Board_GPIO_LED0);
}
}
您好,
RF_cmdPropRx.maxPktLen已修改为正常通信的2倍 但是还出错
您修改了 maxPktLen,那您有没有修改相应的 packet size 和RF队列中数据条目的大小?
请问下怎么可以复位其状态 用RF_runCmd调用rfc_CMD_CLEAR_RX_t这个命令后卡死了
您这边指得是什么状态?RX commands 的状态?您不需要清空相关的命令。
看门狗计时结束后系统没有复位,调用SysCtrlSystemReset函数也不能复位
请参考看门狗的示例,有相关如何使用看门狗的方法介绍。要注意的是看门狗不会在standby模式下运行。
您好,
是这样的,您可以查看这个文档:Power.h File Reference (ti.com)