我正在调用以下函数:
write_phy 1 0 0x100
函数write_phy是:
proc write_phy {phy register value} {
if { [regexp {^0} $value] } {
scan $value "%o" value
}
if {$::DEBUG} {
puts [format "Write PHY %s register %s = 0x%0.8X" $phy $register $value]
}
# exec ./write_phy.pl $phy $register $value
}
after 1;
执行函数时,虽然print语句正常工作,但我收到系统调用错误:
Write PHY 1 register 0 = 0x00000000
Disallowed system call: SYS__newselect
代码中的其他功能正常运作。
请帮忙。
答案 0 :(得分:0)
如果我让代码在Tcl 8.6(Raspbian)上运行,它告诉我它期望一个整数但得到“256”。您使用的是哪个版本的Tcl和操作系统?您是否正在运行包含电池的Tcl(如Etcl)或其他一些发行版?
P.S。在将脚本加载到解释器中时,全局上下文中的“后1”只会暂停一毫秒。它与错误本身无关。我想你可以删除它。