我试图通过在函数外部声明全局变量(gpio_out_set_3)来使用它(因为该变量将来也可能在其他函数中使用)。在函数内部,我声明了与“global”相同的变量,并尝试通过“$gpio_out_set_3”访问它。
我收到错误“无法读取“gpio_out_set_3”:没有这样的变量”
set gpio_out_set_3 0x03
proc port2phy { device } {
global gpio_out_set_3
erf_wr devcpu_gcb $gpio_out_set_3 $phy_mdc_gate_en
}
Run Code Online (Sandbox Code Playgroud)
请帮忙。
使用变量命令在主文件的开头声明所有全局变量。
variable gpio_out_set_3 0x03
提示:我不喜欢全局命令。我总是忘记使用,并且很难看出哪个变量是全局变量,哪个变量是局部变量。我更喜欢$::<varname>,它指向全局命名空间。
proc port2phy { device } {
erf_wr devcpu_gcb $::gpio_out_set_3 $phy_mdc_gate_en
}
Run Code Online (Sandbox Code Playgroud)