开源改变世界!!

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

推推 grbl 2年前 (2022-10-23) 838次浏览 0个评论
关闭
gxdeange打开了这个问题 1月13日· 53 条评论
关闭

grbl 未完成启动:UGS Blackpill STM32F401CCU6#52

gxdeange打开了这个问题 on 13 Jan· 53 条评论

注释

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

嗨,特杰奥,

我已经刷过上面的板,但在尝试连接到 UGS 时出现上述错误。

我不确定是否有任何特定于闪存过程的内容,但没有关于 USB 连接的错误,并且波特率为 1152000(Windows 10)。

干杯
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月13日

如果重置(或急停)引脚未接地,则控制器默认以警报状态启动,某些发送器不会处理。
查看此wiki 页面了解更多信息。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月13日

我按照说明进行操作,但同样的问题仍然存在。

问候
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月13日

与 PuTTY 等终端仿真器连接时有任何响应吗?您也可以尝试使用ioSender的边缘版本,它会提供比大多数发件人更好的反馈。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月14日

我无法得到 PuTTY 的任何响应,也没有机会查看 ioSender 选项。

我启用了 vebose 日志记录,但我不确定这是否为可能发生的事情提供任何指导。

[详细] GrblFeedbackMessage{message=’GrblHAL 1.1f [‘$’ or ‘$HELP’ for help]’, distanceMode=’null’, units=’null’}
GrblHAL 1.1f [‘$’ or ‘$HELP’ for帮助]

干杯
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月14日

我无法得到 PuTTY 的任何响应,也没有机会查看 ioSender 选项。

您是否尝试通过键入请求实时报告?– 有几个状态会阻止除软重置之外的所有其他命令。

我启用了 vebose 日志记录,但我不确定这是否为可能发生的事情提供任何指导。

好吧,看起来确实来自控制器的响应 – 可能来自 UGS 尝试软重置。?如果是这样,您应该通过键入或通过在 PuTTY 中发送 <Ctrl>+X 尝试软重置来获得响应。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月14日

我对 PuTTY 没有任何运气,当我发送“?”时 通过 UGS,我仍然收到“grbl 尚未完成启动”错误消息。

我一直在研究如何在 Cube IDE 中配置 HSE / HSI,并且很好奇是否可能存在时钟问题?我是否可以手动重新配置可以更改为 HSI 的文件?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月15日

我一直在研究如何在 Cube IDE 中配置 HSE / HSI,并且很好奇是否可能存在时钟问题?我是否可以手动重新配置可以更改为 HSI 的文件?

如果可以连接 USB 时钟很可能以正确的速度运行。你在上面提到的日志中得到了一个 grblHAL 响应——如果控制器没有任何内容,你不会得到这个响应?

您是否尝试过从 PuTTY 进行软重置?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

好的。

我确信我没有为 STM32F401CCU6 正确设置 Cube IDE 的“路径和符号”,因为我是这个 IDE 的新手,而且一般来说对 IDE 不太了解。

我将尝试添加正确的信息,看看情况如何。

问候并感谢您的支持
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

好的。

我想我已经正确导入了项目,但是在为“Release F401 Blackpill”编译时出现了这个错误

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月15日

似乎最新的提交没有按应有的方式更新子模块,即使核心和驱动程序 grbl 子模块的提交 ID 匹配……奇怪。

我刚刚推送了两个新的提交,最终似乎使它们同步。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

我刚刚下载了更新的文件,编译时抛出了同样的错误

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月15日

更新子模块了吗?缺少的定义现在就在那里。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

我很抱歉。

下载了最新的Core,编译成功。

将闪烁和测试。

干杯
_

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

已闪烁,但通过 UGS 连接时出现相同的错误,无法通过 PuTTY 获得任何类型的连接。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月15日

您无法连接或无法通信?如果使用 PuTTY 连接失败,您会收到哪个错误消息?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

无法沟通。根本没有错误信息。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

尝试了不同的端口号和波特率。都无法设置任何类型的连接。还尝试了两条 USB 电缆

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

我需要重新配置或启用 IDE 中的任何特定内容吗?我确定这是我做错的事情。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月15日

但是您仍然在 UGS 日志中看到“GrblHAL …”?

尝试了不同的端口号和波特率。都无法设置任何类型的连接。还尝试了两条 USB 电缆

您在设备管理器中更改了端口号?顺便说一句,波特率通常无关紧要,它会尽可能快地连接允许。由于您可以连接,这意味着 USB 时钟是正确的并且控制器没有出现硬故障。

您是否通过 ST 链接编程并且可以设置断点?顺便说一句,你有 Nucleo 板吗?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月15日

我需要重新配置或启用 IDE 中的任何特定内容吗?

不。

请告诉我你有哪块板,如果 Nucleo 开发板,那么 USB 端口不是本机 USB 端口,处理器通过 UART 与 ST-Link 处理器进行通信,ST-Link 处理器在 USB 之间进行转换。如果是 Blackpill,您是否有指向您购买地点的链接?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

这就是我从 UGS 获得的全部信息。
grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

我在 PuTTY 中尝试了各种端口号,但没有成功。
grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

我通过 ST-Link 编程,我有一个 Blackpill,我是从 eBay 上的当地卖家那里购买的。

顺便说一句,我在硬件方面还不错,但我对编程和软件的了解非常基础,所以如果我没有得到正确的信息,我深表歉意。

干杯
_

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

如果我能让它工作,我也在考虑构建一个使用 STM32F401 的 64 引脚变体的定制 PoC 板,这样我就可以包含 SD 卡和 AUX 输入/输出端口等功能

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月15日

我在 PuTTY 中尝试了各种端口号,但没有成功。

UGS 连接 COM5 并得到响应,在 PuTTY 中使用相同。
要 100% 确保 UGS 记录的消息来自控制器,您可以在此处修改欢迎消息,重新编译并检查它是否更改。例如,将版本号更改为 1.1g。如果它发生变化,您应该能够从 PuTTY 获得响应,至少从 Ctrl+X(软重置)或通过键入状态报告获得响应?

您是否尝试过连接 ioSender?您可能会从中获得更多信息。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

好的。我可以验证我对 version# 所做的更改是否显示在 UGS 中。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

我怀疑驱动程序运行不正确,因为除了您在上一张图片中看到的内容外,我在 PuTTY 中什么也没有。

我没有尝试过 ioSender,因为它看起来有点复杂,我需要更多时间阅读

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

如果我在 UGS 中键入任何命令,我会收到 ‘grbl 尚未完成启动错误,或者如果我按下 $X 按钮,我会在 UGS 中收到以下错误。
grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月15日

这些行替换为

signals.mask = 0;

然后再试一次。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日  

不幸的是没有区别。
快速更新。我在 Arduino IDE 中使用了串行监视器,我可以看到正常的 grbl $ 设置。

我将恢复到原来的 signals.mask 设置,看看是否仍然有效

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

好的。当我恢复到原始信号掩码设置时,我可以在串行监视器中看到 grgl $ 代码,但是如果我发送诸如 $X 或 $H 之类的命令,则会出现错误

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日  

我已经下载并运行了 ioSender。我现在可以连接

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

瓦洛塔 评论 1月15日

如果您愿意,我可以向您发送我知道可以工作的 STM32F4XX 的预编译版本…如果您向我发送您的引脚映射,我可以使用这些设置编译一个副本,因为我对我的配置方式有点奇怪.

也不确定你是否看过这些,但我在弄清楚我想如何连接所有东西时发现它们很棒,https://universal-solder.ca/product/stm32-screw-terminal-adapter-for-blue-pill- stm32f103-and-black-pill-stm32f4x1-diy-kit/

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

嗨,瓦洛塔,

感谢您的答复。我已经成功地使用 blackpill 的更新 pin 设置进行编译,并且我有一个 pcb 的概念设计,我将作为 PoC 构建。

一旦我对此感到满意,我计划用这个 MCU 的 64 针版本创建一个原型板,并希望包括 SD 卡、AUX 输入/输出端口,并设置一个联动电机输出。

我希望使用自定义的 my_machine_map 文件可以让我做到这一点。

@terjeio

您认为将此代码设置为使用 HSI 和 LSI 时钟而不是外部时钟的可能性是什么?这将简化电路板设计并减少组件数量。我认为 HSI 和 LSI 对于 grbl 的目的来说已经绰绰有余了?
干杯
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

瓦洛塔 评论 1月15日

是的,这就是我为将 Blackpilll_map 文件添加到 repo 所做的工作……祝你的董事会好运……似乎你和我在相似的道路上没有黑色药丸

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月15日

我还想非常感谢 terjeio,因为我对软件和编程的了解非常有限。希望我们将来可以在定制设计板上进行合作。

干杯
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月16日

您认为将此代码设置为使用 HSI 和 LSI 时钟而不是外部时钟的可能性是什么?

通过在构建配置中定义符号,在此处为不同的处理器/配置完成时钟设置。一个例子:

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

希望我们将来可以在定制设计板上进行合作。

你可能会从我的Nucleo 板上得到一些想法。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月16日  

有趣的。我目前正在考虑 MCU(STM32F7 或 F4…)选项。您认为支持以太网、WebUI、蓝牙/WiFi 等功能的最小 Flash 大小是多少?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月16日

您认为支持以太网、WebUI、蓝牙/WiFi 等功能的最小 Flash 大小是多少?

WiFi 通过 SPI 接口和外部模块?

从具有这些参数的构建中:

//#define VFD_ENABLE           1 // Set to 1 or 2 for Huanyang VFD spindle. More here https://github.com/grblHAL/Plugins_spindle
//#define DUAL_SPINDLE         1 // Uncomment for switching between VFD spindle and PWM output with $32
//#define MODBUS_ENABLE        1 // Set to 1 for auto direction, 2 for direction signal on auxillary output pin.
#define WEBUI_ENABLE         1 // Enable ESP3D-WEBUI plugin along with networking and SD card plugins.
#define WEBUI_INFLASH        1 // Store WebUI files in flash instead of on SD card.
#define ETHERNET_ENABLE      1 // Ethernet streaming. Uses networking plugin.
#define BLUETOOTH_ENABLE     1 // Set to 1 for HC-05 module. Uses Bluetooth plugin.
#define SDCARD_ENABLE        1 // Run gcode programs from SD card, uses sdcard plugin.
//#define KEYPAD_ENABLE        1 // I2C keypad for jogging etc., uses keypad plugin.
//#define ODOMETER_ENABLE      1 // Odometer plugin.
//#define PPI_ENABLE           1 // Laser PPI plugin. To be completed.
//#define LASER_COOLANT_ENABLE 1 // Laser coolant plugin. To be completed.
//#define OPENPNP_ENABLE 1
//#define FANS_ENABLE 1
//#define TRINAMIC_ENABLE   2130 // Trinamic TMC2130 stepper driver support. NOTE: work in progress.
//#define TRINAMIC_ENABLE   5160 // Trinamic TMC5160 stepper driver support. NOTE: work in progress.
//#define TRINAMIC_I2C         1 // Trinamic I2C - SPI bridge interface.
//#define TRINAMIC_DEV         1 // Development mode, adds a few M-codes to aid debugging. Do not enable in production code.
//#define EEPROM_ENABLE        2 // I2C EEPROM support. Set to 1 for 24LC16 (2K), 3 for 24C32 (4K - 32 byte page) and 2 for other sizes. Uses eeprom plugin.
//#define EEPROM_IS_FRAM       1 // Uncomment when EEPROM is enabled and chip is FRAM, this to remove write delay.

我已经为堆分配了相当多的 RAM:

_Min_Heap_Size = 0x10000;	/* required amount of heap  */
_Min_Stack_Size = 0x3000;	/* required amount of stack */

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月16日  

您可以使用 ESP 8266 WiFi 模块 (ESP-01) 代替 HC-05 之类的东西吗?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

你好,

如果有帮助,我在 blackpill F401CC 上编译和测试,HSE 设置为 8000000,我更改为 25000000,对我来说一切正常,现在需要在 CNC 上接线,但在 iosender 上反转限制后一切正常,探头和按钮。
这是我的 .bin

grblHAL F401 Blackpill.zip

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月17日  

嗨约阿希姆夫,

感谢您的输入。我希望完全消除对外部晶体的要求,并在这些 MCU 上使用/配置内部时钟。这将释放 4 个 IO,然后可以将其分配给联动电机输出、WiFi 连接或 Aux 端口(取决于可用的总体引脚)。我希望构建一个带有嵌入式 STM32F401xx MCU 的定制板,该 MCU 具有光隔离输入/输出、反向 Pol 保护、嵌入式继电器驱动器和最终嵌入式电机驱动器。

@terjeio
查看上图,我可以假设具有至少 512KB 闪存的 MCU 是具有这些附加功能的最实用的选择。
我也看过 HC-05,如果我错了,请纠正我,但这仅提供蓝牙而不提供 802.1x WiFi?可以使用 ESP-01 等 WiFi 适配器代替 HC-05 吗?

干杯乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月17日

查看上图,我可以假设具有至少 512KB 闪存的 MCU 是具有这些附加功能的最实用的选择。

是的,并且通过没有 Flash 中的 WebUI,可以释放相当多的 flash。

我也看过 HC-05,如果我错了,请纠正我,但这仅提供蓝牙而不提供 802.1x WiFi?

正确的。

可以使用 ESP-01 等 WiFi 适配器代替 HC-05 吗?

是的 –检查这个讨论

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月24日

嗨,特杰奥,

快速提问,如果我要注释掉 USB_SERIAL_CDC,我是否可以通过其中一个 USART 通道(如果是,哪个 USART 通道)进行通信(通过 USB 到 UART 设备)?

我的目的是使它成为一个多输入通道,因为我可以直接 TX/RX 或通过中间设备(例如 CP2102 USB 到 UART)。

干杯
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月24日

快速提问,如果我要注释掉 USB_SERIAL_CDC,我是否可以通过其中一个 USART 通道(如果是,哪个 USART 通道)进行通信(通过 USB 到 UART 设备)?

是的,您可以根据配置有两个频道可供选择:

STM32F4xx/Src/serial.c

第 42 至 66 行c6603c7

#如果是IS_NUCLEO_DEVKIT
#定义 USART USART2
#定义 USART_IRQHandler USART2_IRQHandler
# ifdef SERIAL2_MOD
#定义 UART2 USART1
#定义 UART2_IRQHandler USART1_IRQHandler
# endif
#否则
#定义 USART USART1
#定义 USART_IRQHandler USART1_IRQHandler
# ifdef SERIAL2_MOD
#定义 UART2 USART2
#定义 UART2_IRQHandler USART2_IRQHandler
# endif
# endif

 

第一个始终可用,检查代码或使用$pins命令查看引脚映射。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月26日

@gxdeange您是否删除了最后两条评论或 github 丢失了它们?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月26日

嗨,特杰奥,

是的,我做到了,因为我意识到我做错了什么,不想打扰你。

我找到:

如果我使用 Release 401 Nulceo64,我可以将 PA2 和 PA3 用于 UART 通信,并且我还注意到时钟设置适用于 HSI(这是我所追求的)。
然而,我确实注意到 serial.h 文件分配了 GPIOD 和引脚 8 和 9,所以我将它们更改为 GPIOA 和引脚 2 和 3。

我现在需要做的就是构建一个带有嵌入式 STM32F401RCT6(64 引脚版本)且没有外部晶体和测试的原型。

干杯,祝你有美好的一天
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月30日  

嗨,特杰奥,

我一直在玩不同的插件和配置设置,但在尝试使用 SDCARD_ENABLE 激活编译时遇到了问题。这些是我收到的错误。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

我确实注意到,即使 SDCARD_ENABLE 处于活动状态,在我正在使用的 map.h 文件中,端口/引脚分配仍然是灰色的。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

我正在使用 Release F401 Nulceo64 进行编译,我怀疑它的编码不允许 SD 卡。有没有办法绕过这个限制?

我还启用了 Y Ganged / Auto Square 但 M3 端口 / 引脚分配也显示为灰色

干杯
乔治

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月30日

您是否已将地图文件添加到driver.h

当我为 BOARD_MORPHO_CNC 编译时,SD 卡和 M3 引脚定义都没有变灰(在有时需要重建索引之后)。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
作者

gxdeange 评论 1月30日

我认为这是因为我为 STEP 和 Direction 指定了不同的端口,因为我试图为 PCB 获得最佳轨道运行。

我想我需要为每个步骤、方向和控制引脚返回一个端口

//#define STEP_PORT GPIOA
#define X_STEP_PORT GPIOA
#define X_STEP_PIN 1
#define Y_STEP_PORT GPIOB
#define Y_STEP_PIN 2
#define Z_STEP_PORT GPIOA
#define Z_STEP_PIN 11
#define STEP_OUTMODE GPIO_MAP
//#define STEP_PINMODE PINMODE_OD //取消对开漏输出的注释

//定义步进方向输出引脚。
//#define DIRECTION_PORT GPIOB
#define X_DIRECTION_PORT GPIOA
#define X_DIRECTION_PIN 4
#define Y_DIRECTION_PORT GPIOB
#define Y_DIRECTION_PIN 10
#define Z_DIRECTION_PORT GPIOA
#define Z_DIRECTION_PIN 11
#define DIRECTION_OUTMODE GPIO_MAP
//#define DIRECTION_PINMODE PINMODE_OD // 取消注释开漏输出

//定义步进驱动器启用/禁用输出引脚。
#define STEPPERS_ENABLE_PORT GPIOB
#define STEPPERS_ENABLE_PIN 1
//#define STEPPERS_ENABLE_PINMODE PINMODE_OD // 取消注释开漏输出

//定义归位/硬限位开关输入引脚。
#define LIMIT_PORT GPIOB
#define X_LIMIT_PIN 12
#define Y_LIMIT_PIN 13
#define Z_LIMIT_PIN 14
#define LIMIT_INMODE GPIO_SHIFT12

//定义联动轴或A轴步进脉冲和步进方向输出引脚。
#if N_ABC_MOTORS == 1
#define M3_AVAILABLE
#define M3_STEP_PORT GPIOC
#define M3_STEP_PIN 8
#define M3_DIRECTION_PORT GPIOC
#define M3_DIRECTION_PIN 9
#if N_AUTO_SQUARED
#define M3_LIMIT_PORT LIMIT_PORT
#define M3_LIMIT_PIN 15
#endif
#endif

//定义主轴使能和主轴方向输出引脚。
#define SPINDLE_ENABLE_PORT GPIOA
#define SPINDLE_ENABLE_PIN 15
#define SPINDLE_DIRECTION_PORT GPIOC
#define SPINDLE_DIRECTION_PIN 10

//定义主轴PWM输出引脚。
#define SPINDLE_PWM_PORT_BASE GPIOA_BASE
#define SPINDLE_PWM_PIN 8

//定义洪水和雾冷却剂启用输出引脚。
#define COOLANT_FLOOD_PORT GPIOC
#define COOLANT_FLOOD_PIN 12
#define COOLANT_MIST_PORT GPIOC
#define COOLANT_MIST_PIN 11

// 定义用户控制控件(循环启动、复位、进给保持)输入引脚。
//#define CONTROL_PORT GPIOB
#define RESET_PORT GPIOD
#define RESET_PIN 2
#define FEED_HOLD_PORT GPIOB
#define FEED_HOLD_PIN 3
#define CYCLE_START_PORT GPIOB
#define CYCLE_START_PIN 4
#if SAFETY_DOOR_ENABLE
#define SAFETY_DOOR_PORT GPIOB
#define SAFETY_DOOR_MODE GPIO 5 #CONTROL_SHIIN
#endif
#define

//定义探头开关输入引脚。
#define PROBE_PORT GPIOB
#define PROBE_PIN 8

#if I2C_STROBE_ENABLE
#define I2C_STROBE_PORT GPIOB
#define I2C_STROBE_PIN 9
#endif

#if SDCARD_ENABLE
#define SD_CS_PORT GPIOC
#define SD_CS_PIN 2
#define SPI_PORT 1 // GPIOA, SCK_PIN = 5, MISO_PIN = 6, MOSI_PIN = 7
#endif

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

你好特杰奥,

你觉得这个板怎么样?
https://a.aliexpress.com/_vUFZ4w
所有端口都可以使用吗?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

也许还值得注意的是,WeAct 有几个 STM32H7 板..

https://www.aliexpress.com/item/1005001700815862.html

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月30日

@gxdeange这是一个映射文件,它在索引重建后与 SD_CARD_ENABLE 和 M3 定义一起编译:

#define IS_NUCLEO_BOB

//#define STEP_PORT GPIOA
#define X_STEP_PORT GPIOA
#define X_STEP_PIN 1
#define Y_STEP_PORT GPIOB
#define Y_STEP_PIN 2
#define Z_STEP_PORT GPIOA
#define Z_STEP_PIN 11
#define STEP_OUTMODE GPIO_BITBAND
//#define STEP_PINMODE PINMODE_OD // Uncomment for open drain outputs

// Define step direction output pins.
//#define DIRECTION_PORT GPIOB
#define X_DIRECTION_PORT GPIOA
#define X_DIRECTION_PIN 4
#define Y_DIRECTION_PORT GPIOB
#define Y_DIRECTION_PIN 10
#define Z_DIRECTION_PORT GPIOA
#define Z_DIRECTION_PIN 11
#define DIRECTION_OUTMODE GPIO_BITBAND
//#define DIRECTION_PINMODE PINMODE_OD // Uncomment for open drain outputs

// Define stepper driver enable/disable output pin.
#define STEPPERS_ENABLE_PORT GPIOB
#define STEPPERS_ENABLE_PIN 1
//#define STEPPERS_ENABLE_PINMODE PINMODE_OD // Uncomment for open drain outputs

// Define homing/hard limit switch input pins.
#define LIMIT_PORT GPIOB
#define X_LIMIT_PIN 12
#define Y_LIMIT_PIN 13
#define Z_LIMIT_PIN 14
#define LIMIT_INMODE GPIO_SHIFT12

// Define ganged axis or A axis step pulse and step direction output pins.
#if N_ABC_MOTORS == 1
#define M3_AVAILABLE
#define M3_STEP_PORT GPIOC
#define M3_STEP_PIN 8
#define M3_DIRECTION_PORT GPIOC
#define M3_DIRECTION_PIN 9
#if N_AUTO_SQUARED
#define M3_LIMIT_PORT LIMIT_PORT
#define M3_LIMIT_PIN 15
#endif
#endif

// Define spindle enable and spindle direction output pins.
#define SPINDLE_ENABLE_PORT GPIOA
#define SPINDLE_ENABLE_PIN 15
#define SPINDLE_DIRECTION_PORT GPIOC
#define SPINDLE_DIRECTION_PIN 10

// Define spindle PWM output pin.
#define SPINDLE_PWM_PORT_BASE GPIOA_BASE
#define SPINDLE_PWM_PIN 8

// Define flood and mist coolant enable output pins.
#define COOLANT_FLOOD_PORT GPIOC
#define COOLANT_FLOOD_PIN 12
#define COOLANT_MIST_PORT GPIOC
#define COOLANT_MIST_PIN 11

// Define user-control controls (cycle start, reset, feed hold) input pins.
//#define CONTROL_PORT GPIOB
#define RESET_PORT GPIOD
#define RESET_PIN 2
#define FEED_HOLD_PORT GPIOB
#define FEED_HOLD_PIN 3
#define CYCLE_START_PORT GPIOB
#define CYCLE_START_PIN 4
#if SAFETY_DOOR_ENABLE
#define SAFETY_DOOR_PORT GPIOB
#define SAFETY_DOOR_PIN 5
#endif
#define CONTROL_INMODE GPIO_BITBAND

// Define probe switch input pin.
#define PROBE_PORT GPIOB
#define PROBE_PIN 8

#if I2C_STROBE_ENABLE
#define I2C_STROBE_PORT GPIOB
#define I2C_STROBE_PIN 9
#endif

#if SDCARD_ENABLE
#define SD_CS_PORT GPIOC
#define SD_CS_PIN 2
#define SPI_PORT 1 // GPIOA, SCK_PIN = 5, MISO_PIN = 6, MOSI_PIN = 7
#endif

几点说明:

GPIO_BITBANDfor 访问总是安全的,因为每个引脚都是单独读取的,如果引脚组中的引脚分布在多个端口上,则必须使用它。

GPIO_MAP只有当组中的所有引脚都在同一个端口上时,GPIO_SHIFTn才能使用替代方案。这些是 fastet 替代方案,因为组中的所有引脚都是同时写入或读取的。

GPIO_MAP只能用于步进和方向信号。

GPIO_SHIFTn只能在引脚连续时用作限位和控制信号,最低引脚号为移位值。

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52
贡献者

特热约 评论 1月30日

你觉得这个板怎么样?
所有端口都可以使用吗?

是的,但是您必须为任何现有板图未使用的端口编写插件代码。

也许还值得注意的是,WeAct 有几个 STM32H7 板..

这将需要一个新的驱动程序,因为它们具有与 iMXRT1062 相同的 M7 处理器。如果外围设备相似,则很可能可以使用 F4xx 或 F7xx 驱动程序作为起点。对你的挑战@dresco?

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

这将需要一个新的驱动程序,因为它们具有与 iMXRT1062 相同的 M7 处理器。如果外围设备相似,则很可能可以使用 F4xx 或 F7xx 驱动程序作为起点。对你的挑战@dresco?

你永远不会知道,我一直很想买一个来玩。虽然它们与 Nucleo 开发板的价格相差不远 – 至少它们今年可用!;)

grbl 未完成启动:UGS Blackpill STM32F401CCU6 #52

我已经订购了一个 WeAct STM32H7 板来玩,到货时会跟进..

免费注册 在 GitHub 上加入这个对话。已经有一个帐户? 登录以发表评论
喜欢 (0)

您必须 登录 才能发表评论!