首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RENODE如何按5s按钮和倒置的方法,按和发布与按钮兼容的拉出配置

RENODE如何按5s按钮和倒置的方法,按和发布与按钮兼容的拉出配置
EN

Stack Overflow用户
提问于 2022-09-19 14:52:26
回答 1查看 57关注 0票数 1

我想模拟在RENODE我的stm32f030按一个按钮5秒。但是我有一些与时间有关的问题,还有RENODE方法来模拟按下和释放按钮

在我的固件中,我将连接到按钮的引脚配置为拉起,也就是说,没有按下按钮的按钮就有Status=TRUE。当按下按钮时,它会转到GND和Status=FALSE

我在RENODE方法中做了一个“调试”,我模拟了一个Press,然后用按下的方法返回状态,您可以检查:

  • Press结果为真状态
  • Release导致虚假状态

有可能逆转这种方法吗?还是我把它当作机器人框架中的别名?我发现的文档很少,任何关于我的问题的线索都是受欢迎的。

关于时间问题,当我执行Press方法,然后执行Release方法,等待接近20秒时,它执行的操作是将红色和蓝色LED闪烁在一起,参见下面。然而,在我的固件中,它被配置为在5s之后在计时器中发生中断。

我在正式文档(framework.html)中读到了一些这方面的内容,我怀疑这与此有关,但我还没有确定需要做些什么来修复它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-20 10:31:27

倒转按钮的状态是相当容易的。

miv-board.repl文件一样,您可以执行以下操作:

代码语言:javascript
复制
user_switch_0: Miscellaneous.Button @ gpioInputs 0
    invert: true  <--- this is relevant here
    -> gpioInputs@0

关于时间流,Renode在虚拟时间域中操作,以确保执行的确定性,而不管主机是什么。它可以类似于实时流,但在很大程度上取决于您运行的应用程序类型。如果你经常轮询而不使用中断来睡觉,事情就会变慢。

要获取有关当前虚拟时间的信息,可以运行emulation GetTimeSourceInfo并看到如下输出:

代码语言:javascript
复制
(machine) emulation GetTimeSourceInfo 
Elapsed Virtual Time: 00:00:00.304409 <--- you want this to be 5s
Elapsed Host Time: 00:00:00.831891
Current load: 2.5
Cumulative load: 2.73280684868056
State: WaitingForReportBack
Advance immediately: False
Quantum: 00:00:00.000100
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73775370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档