开源改变世界

控制和限制引脚不在同一个端口上? #729

推推 grbl 3年前 (2023-01-22) 155次浏览

关闭
maaadbob 打开了这个问题 2015 年 6 月 9 日 · 2 条评论

注释

控制和限制引脚不在同一个端口上? #729

…所有控制引脚必须位于同一端口上,而不是与其他输入引脚(限制)位于同一端口上。

为什么是这样 ?
为什么控制引脚(输入)需要位于与限制(输入)引脚不同的端口?

干杯,
鲍勃。

控制和限制引脚不在同一个端口上? #729
成员

@maaadbob:不知道为什么他们必须共享一个端口很重要,但这是因为每个端口都会触发引脚更改中断。它使限制引脚和控制引脚 ISR 功能保持分离和独立。

控制和限制引脚不在同一个端口上? #729

这可以通过测试进入 ISR 时哪些引脚导致了中断来解决。这是几行额外的代码,而且速度稍慢。完成此“必须”是为了使代码尽可能紧凑和快速。也就是说,除非您更改代码,否则它是“必须的”。

我目前正在尝试将 Z_STEP 放在一个单独的端口上。这意味着为 Z DDR 和 Z_DIRPORT 等创建一个单独的常量,但它是可行的,而且似乎不太昂贵。

喜欢 (0)