Thread 中讨论的其他器件:CC1310
工具与软件:
我正在使用库存的 sensor_CC1310_LAUNCHXL_tirtos_ccs 示例项目。 为了查看通过 RF 发送消息的频率、我想在 Board_Lcd_ 357eString*函数中添加一个时间戳(我不使用 LCD...只是使用 UART)。 因此、在内核配置文件中添加了相应的#define 以及 POSIX 支持之后、我将它添加到了 sensor.c 中 Sensor_init 的顶部:
#ifdef DEBUG_PRINT_TIMESTAMP #define STARTTIME 1729719936 Seconds_set(STARTTIME); struct timespec ts; ts.tv_sec = STARTTIME; ts.tv_nsec = 0; clock_settime(CLOCK_REALTIME, &ts); #endif
然后、我将以下代码添加到 board_LCD.c:
#if defined(DEBUG_PRINT_TIMESTAMP) #include <stdio.h> void print_timestamp(void) { char buf[81]; uint32_t t; t = Seconds_get(); time_t t1 = time(NULL); #if 0 struct tm *ltm; char *curTime; ltm = localtime(&t1); curTime = asctime(ltm); strcpy(buf,curTime); #else Util_ltoa(t1, (uint8_t *)buf, 10); #endif t = strlen((char *)buf); buf[t] = ':'; buf[t+1] = ' '; buf[t+2] = 0; System_printf((xdc_CString)buf); } #endif
该代码从 Board_Lcd_ schueString 和 Board_Lcd_ schueStringValue 调用。
这是一个奇怪的部分...其实、它运转正常。 它在每个输出 UART 字符串的前面添加一个数字时间戳(虽然这是自1900年1月1日 以来的秒数、很有意思)。
如果我尝试通过翻转#if 0,使用 localtime (), asctime ()的东西,它没有 worky。 它会不断复位。 当我通过调试器运行它时、我得到常量:
Cortex_M3_0:GEL 输出:内存映射初始化完成。
Cortex_M3_0:GEL 输出:电路板复位完成。
Cortex_M3_0:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电、并/或尝试更可靠的 JTAG 设置(例如、降低 TCLK)。 (仿真软件包20.0.0.3178)
Cortex_M3_0:停止目标 CPU 时出现故障:(错误-2064 @ 0x0)无法读取器件状态。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电、并/或尝试更可靠的 JTAG 设置(例如、降低 TCLK)。 (仿真软件包20.0.0.3178)
Cortex_M3_0:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电、并/或尝试更可靠的 JTAG 设置(例如、降低 TCLK)。 (仿真软件包20.0.0.3178)
Cortex_M3_0:停止目标 CPU 时出现故障:(错误-2064 @ 0x0)无法读取器件状态。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电、并/或尝试更可靠的 JTAG 设置(例如、降低 TCLK)。 (仿真软件包20.0.0.3178)
我的行为是否有误? 我看到很多示例代码、几乎具有相同的功能...
谢谢。