评论
不,是我的错。改变: 第 114 至 116 行 3a539e6
到
希望这能让它起死回生。请注意,GPIO 中断处理对于 STM32 处理器来说有点特殊,因此可能必须更改/复制键盘选通引脚的处理程序代码。我没有编码和测试所有可能的端口和引脚组合,仅针对当前的引脚映射。
可能还有其他非普通 GPIO 引脚,新的 $pins 命令正在开发中,请耐心等待。我有很多驱动程序可以添加到其中。
没动力的nano挂大巴?两个引脚上的电压应为 3.3V 或总线卡住。 |
|
结果不太好:-D 尝试在 PB7 和 PB15(用于 generic_map.h)上使用闪光灯,如果这些引脚拉低 MCU 或 grblHAL 锁,则对 ioSender 命令没有反应。在这些引脚上添加了外部上拉电阻,结果相同。也许我应该尝试 PB0,我认为它被用于某些映射文件?
抱歉,不知道它是 WIP,在问题或讨论的某个地方捡到它。但是修改driver.c后
是的,看起来像通过 GPIO 引脚上的钳位二极管,Nano 正试图为自身供电,因此 SDA/SCL 引脚被降至 +1.6V。谢谢你的提示! |
您必须检查 driver.c 中的中断处理程序以找出支持哪些引脚,似乎引脚 0、引脚 9-5 和引脚 10-15 来自快速检查。 当将频销拉动时,触发了I2C读取的低读数,键盘控制器应通过传输包含键代码的字节来做出响应。可以?还是公交车又被困了?请注意,我没有为传输添加任何超时,因此这可以解释挂起。 在下一个版本中,我将添加对使用键盘插件的 UART 通信作为选项的支持,这将更容易编程,但取决于是否有可用的免费 UART 端口。最近比较忙,所以最快这个月晚些时候发布。 |
我会试着调查一下。谢谢你!
嗯,可能就是这样。我试图将从属设备上的 I2C 地址更改为 0x50(EEPROM),它确实从 grblHAL 收到数据请求,但如果它设置为 0x49,则没有数据请求出现,但我的测试草图目前非常愚蠢。我想我会尝试搜索 I2C 总线嗅探器草图,看看发生了什么。
哇,这真的很有趣!我猜我购买 BlackPill 而不是一些 NUCLEO 开发板来进行我的测试不是很明智,它太有限了:-) |
|
|
|
几天后我“恢复业务”时,我会检查一下。 |
|
那太好了,谢谢! |
|
PA0/PB0 有一个小错别字, 我将很快(今天晚些时候?)提交允许 UART 输入的更新, |
是的,它在工作,有点奇怪但在工作,我猜这是映射到用户密钥的反跳问题,我正在使用它:-)谢谢!
对不起,我不明白后面关于打电话的部分 |
|
您好,很抱歉又打扰您了。 我已经将 TI 的 txs0104e 逻辑电平转换器添加到 i2c 总线和我的 BOB 上的键盘选通线,但我仍然无法解决键盘选通引脚奇怪行为的问题。grblHAL 总是从 i2c-slave 设备请求键码,在引脚拉低和引脚拉高时。 是否有可能在此引脚状态请求中,grblHAL 始终将引脚拉低?
1994 年至 1995 年的行 c3332e5
所以在这段代码中, https://github.com/grblHAL/Plugin_I2C_keypad/blob/4d3f3d54f86b340fdda788ce383509faa874f7c9/keypad.c#L337-L349 我试图将处理程序更改为此
我从来没有看到过那些 |
这是我的重构错误 – 对此感到抱歉。错误在这一行: |
|
谢谢!我已经在我的路由器上用一个简单的来回例程对其进行了几个小时的测试,它按预期工作。 我是否正确理解,为了让它 100% 正确工作,键盘的慢跑距离应该设置为一些大的数字,慢跑的软限制($40 参数)应该关闭,硬限制是必须的吗?如果点动距离设置为 10mm 之类的东西,我需要按键盘上的点动键几次才能移动超过 10mm? |
您可以打开 $40 并设置长距离,然后实际点动距离将被限制在机器工作空间内。但只有当最大行程设置正确($13x)并且机器归位时。
是的,但即使是长点动距离,配置的点动也会在按键释放时缩短。只要按下点动按钮,选通线就应该保持低电平,这与选通线应该是脉冲的其他按钮不同。 |
我想我已经测试过键盘设备的配置和点动移动被 grblHAL 忽略了,我稍后会尝试重新检查。
谢谢你的澄清,不知道。 |


你好,
我有时间检查键盘插件,但立即遇到了闪光灯引脚保持低位的问题。通过相当古老的讨论terjeio/grblHAL#202,我的印象是默认情况下应该保持高位。我正在 blackpill 开发板上试验 stm32f411:
带选通针的自定义映射基本定义为:
我的设置的完整标题:
my_machine.txt
my_machine_map.txt
也许我设置了错误的映射,因为
$pins命令没有列出键盘选通针?或者它不应该?顺便说一下,主轴 PWM 引脚也丢失了。如果未供电的 arduino nano 连接到 I2C SDA/SCL/GND 引脚,为什么 grblHAL 可能无法读取 I2C 内存芯片?
error:7 - An EEPROM read failed. Auto-restoring affected EEPROM to default values. SDA/SCL 引脚上存在上拉电阻 (3.3kOhm)。如果我断开 nano 一切正常,如果 nano 在 blackpill 之前供电一切也正常。