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.

解决Chronos手表ControlCenter无法读取时间的问题




刚拿到Chronos手表,发现这个BUG。看到论坛里好多人遇到这个问题,现学了一下TCL 找到了原因

原理如下:

Chronos Control Center(CCC) 使用了TCL脚本语言做的界面,读取系统时间的函数是

clock format [clock seconds] -format "%m"

这个表达式得到的结果是一个两位数的月份,比如现在就是"09"

CCC里直接将这个09转成整数,但由于0开头的默认都是八进制数,遇到08 09这样的直接就歇菜了……

解决办法:

先干掉前导零

找到代码文件eZ430-Chronos CC 1_2.tcl 里面的函数 sync_get_time_and_date
把这一行

set sync_date_month   [expr [clock format [clock seconds] -format "%m"]]

替换成

set month_str 9
  scan $month_str %d [clock format [clock seconds] -format "%m"]
  set sync_date_month  [expr {$month_str}]

即可。

编译好的文件见附件。下载后请复制到原CCC文件夹下(需要调用eZ430_Chronos_CC.dll)运行


参考链接:

TCL语言里的月份问题   http://wiki.tcl.tk/948

如何把TCL程序打包成exe http://wiki.tcl.tk/11861

CC_1.2.1_southwolf.zip