重新节点,“按下”按钮并“看到”LED 照明

Xpe*_*tor 3 stm32 renode

我正在运行我的第一个renode 演示stm32f4_discovery.resc到目前为止一切顺利,我在 sysbus.uart4 窗口中看到了来自 Contiki 的公告,并在终端中看到了以太网数据包。

我怎样才能“推动”UserButton并“查看”是否UserLED打开?

stm32f4_discovery.repl:

UserButton: Miscellaneous.Button @ gpioPortA
    -> gpioPortA@0

UserLED: Miscellaneous.LED @ gpioPortD

gpioPortD:
    12 -> gpioPortD@0
Run Code Online (Sandbox Code Playgroud)

到目前为止我发现的最接近的例子是I2C 温度

demo-.elf 的来源可以在某处找到吗?
http://antmicro.com/projects/renode/stm32f4discovery.elf-s_445441-and.so.on ...

Pio*_*fer 5

Renode 中的 STM32F4 Discovery 平台描述存在问题,现已在 master 上修复。

要切换按钮,您应该使用 Monitor CLI。列出所有可用的方法:

(STM32F4_Discovery) gpioPortA.UserButton 
The following methods are available:
[...]
 - Void Press ()
 - Void PressAndRelease ()
 - Void Release ()
[...]
 - Void Toggle ()
[...]
Run Code Online (Sandbox Code Playgroud)

您可以使用它们与按钮进行交互:

(STM32F4_Discovery) gpioPortA.UserButton Toggle
Run Code Online (Sandbox Code Playgroud)

LED 状态会改变,但不太容易发现。您可以手动检查状态:

(STM32F4_Discovery) gpioPortA.externalLed State 
False (or True)
Run Code Online (Sandbox Code Playgroud)

您还可以在记录器窗口中跟踪对 LED 的访问。要启用该功能,请运行:

(STM32F4_Discovery) logLevel -1 gpioPortA.externalLed 
(STM32F4_Discovery) logLevel 3 # this is not required, but will hush other logs
Run Code Online (Sandbox Code Playgroud)

不幸的是,源代码不可用 - 这是一个非常古老的演示,我们当时并没有很好地跟踪它们。