评论
哪个驱动版本?请张贴 当 在插件代码中,您可以考虑注册一个中断处理程序,最近已将对此的支持添加到许多驱动程序中。如果支持注册,则函数指针不为零。 请注意,没有对辅助输入执行去抖动。 |
[VER:1.1f.20210629:] 啊,所以不管用什么方法,我都需要实现去抖动,这就是我需要知道的。 |
它在等待期间崩溃或挂起?
是的,如果你真的需要去抖。目前最好的方法是注册一个中断处理程序,当被调用时注销它并延迟,然后以立即模式读取输入(并采取必要的操作)并重新注册处理程序。您还可以设置一个标志而不是注销/重新注册,这将忽略对处理程序的进一步调用和/或检查实时处理程序中的输入(您订阅 不应在中断处理程序中执行延迟(或任何需要很长时间处理的代码),而是使用protocol_enqueue_rt_command()注册要从前台进程执行(一次)的函数。 |
太好了谢谢。很有帮助。 |
我想通过行程警报线为我的对刀仪添加一个辅助输入。我一直没能在任何其他插件中找到辅助输入用于此类信号的示例,您能举个例子吗?如果此信号被触发,我想断言 ALARM/ESTOP。 |
如果您为输入引脚注册了一个中断处理程序,则在断言时设置相关信号并调用hal.control.interrupt_callback。 如果您希望状态报告显示正确的状态,请将您的代码挂钩到hal.control.get_state中。首先保存原始的 fn 指针(例如, 在您的替换中,阅读原始状态并“或”输入原始状态。
<port> 是您要使用的端口 ID。 蓝牙插件使用辅助输入引脚中断,可以作为如何执行此操作的示例。 |
泰耶, 我能够通过在循环期间简单地检查引脚来解决我的情况,因为我想要做的就是在按下按钮时打开灯。它不需要中断级别的紧急性,它只是为了提高可见性,我在使用它时没有感觉到任何延迟。 它将出现在 RGB 插件的待更新日期中。 |
我有一个关于
hal.port.wait_on_input
功能使用的快速问题。我有一个连接到 Aux_In0 的开关,按下时将信号引脚连接到地。当等待模式为“0”/立即时,该功能正常工作,但我无法让任何其他条件工作。理想情况下,我想在低位或下降时触发,但如果我使用它们,电路板将变得无法访问。
您能否确认正确的语法以使用该函数读取在下降或低触发条件下具有去抖功能的瞬时按钮?
谢谢,
我可以自己写一些去抖动,但似乎该功能的目的已经是提供一些去抖动过滤了?
谢谢。