请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LAUNCHXL-CC1350 主题中讨论的其他器件:CC1350
工具/软件:Code Composer Studio
您好!
我正在尝试使用半主机功能创建文件并转储此文件中的一些信息。
我的开发板是 CC1350、我使用的是最新版本的 CCS 和 CC13XX SDK。
我导入 了 Watchdog_CC1350_LAUNCHXL_nortos_CCS 工程、并添加了此代码以检查信宿是否正常工作。
我还检查 了 https://processors.wiki.ti.com/index.php/Semihosting
您可以拥有 watchdog.c 的更新版本
void * mainThread (void * arg0)
{
Watchdog_handle;
Watchdog_Params 参数;
uint32_t 重新装载值;
/*调用驱动程序初始化函数*/
GPIO_init();
Watchdog_init();
/*配置 LED 和按钮引脚*/
GPIO_setConfig (Board_GPIO_LED0、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig (Board_GPIO_BUTTON0、GPIO_CFG_IN_pu | GPIO_CFG_IN_INT_INT_FALLING);
GPIO_setCallback (Board_GPIO_BUTTON0、gpioButtonIsr);
/*打开看门狗驱动程序实例*/
Watchdog_Params_init (params);
params.callbackFxn =(Watchdog_Callback)看门狗回调;
params.debugStallMode = Watchdog_debug_star_on;
params.resetMode = Watchdog_reset_on;
WatchdogHandle = Watchdog_open (Board_WATCHDOG0、¶ms);
if (watchdogHandle == NULL){
/*打开看门狗时出错*/
while (1){}
/*
*在期间初始化看门狗重新加载值
* Watchdog_open()调用。 重新加载值也可以
*在运行时动态设置。
*
*将 TIMEOUT_MS 转换为看门狗时钟节拍。
*此 API 不适用于所有器件。
*请参阅特定于器件的看门狗驱动程序文档
*。
*
reloadValue = Watchdog_convertMsToTicks (watchdogHandle、timeout_MS);
/*
*值为零(0)表示转换后的值超过32位
或 API 不适用于此特定器件。
*
if (重新加载值!= 0){
Watchdog_setReload (watchdogHandle、reloadValue);
}
/*打开 Board_GPIO_LED0并启用 Board_GPIO_BUTTON0中断*/
GPIO_WRITE (Board_GPIO_LED0、Board_GPIO_LED_ON);
GPIO_enableInt (Board_GPIO_BUTTON0);
f_output = fopen ("C:\\users\\Erdem\\Desktop\\LS3\\output.txt)、"w");
if (NULL =f_output){
printf ("错误\n");
返回;
}
回卷(f_output);
fprintf (f_output、"fddsfddsfsd");
fputs ("sfsdf"、f_output);fflush (f_output);
fclose (f_output);
while (1){
/*
*禁用电源策略将阻止设备进入
*低功耗状态。 当 CPU 为时、器件将保持唤醒状态
*空闲。
*
power_disablePolicy();
/*在清除看门狗之前睡眠_US */
usleep (SLEEP_US);
Watchdog_clear (watchdogHandle);
GPIO_TOGGLE (Board_GPIO_LED0);
/*
*启用电源策略将允许器件进入低电平
* CPU 空闲时的电源状态。 如何设置看门狗外设
*在低功耗状态下的行为特定于器件。
*
power_enablePolicy();
/*在清除看门狗之前睡眠_US */
usleep (SLEEP_US);
Watchdog_clear (watchdogHandle);
GPIO_TOGGLE (Board_GPIO_LED0);
}
}