整个带屏数字小键盘吧,先搞定 QMK 固件支持 STM32F103 的 I2C Remap

整个带屏数字小键盘吧,先搞定 QMK 固件支持 STM32F103 的 I2C Remap

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

作者使用STM32F103C8T6 MCU和QMK固件制作数字小键盘,验证键盘原理图。成功修改QMK固件以启用I2C Remap,并配置I2C引脚,测试屏幕正常显示。

🎯

关键要点

  • 作者使用STM32F103C8T6 MCU和QMK固件制作数字小键盘。
  • 之前使用ATMega32A MCU制作的键盘在Mac上兼容性有问题。
  • STM32F103C8T6支持QMK固件,并且可以通过STM32duino-bootloader方便地刷机。
  • 由于PCB尺寸限制,先制作数字小键盘来验证STM32F103的键盘原理图。
  • 原理图中确定行和列的引脚,使用PB8和PB9作为I2C通信引脚。
  • 需要修改QMK固件以启用I2C Remap,使用PB8和PB9作为I2C引脚。
  • 在mcuconf.h文件中启用I2C1。
  • 在初始化代码中添加AFIO_MAPR_I2C1_REMAP标志位以启用I2C Remap。
  • 在rules.mk中配置I2C引脚以正常使用OLED屏幕。
  • 测试结果显示屏幕正常工作。

延伸问答

为什么选择STM32F103C8T6作为数字小键盘的MCU?

因为STM32F103C8T6支持QMK固件,并且可以通过STM32duino-bootloader方便地刷机。

如何在QMK固件中启用I2C Remap?

需要在mcuconf.h文件中启用I2C1,并在初始化代码中添加AFIO_MAPR_I2C1_REMAP标志位。

数字小键盘的原理图中使用了哪些引脚?

原理图中使用PB8和PB9作为I2C通信引脚,确定行和列的引脚以支持104键。

测试结果显示屏幕正常工作,这意味着什么?

这表明数字小键盘的I2C通信和OLED屏幕配置成功,功能正常。

之前使用ATMega32A MCU制作的键盘有什么问题?

在Mac上兼容性有问题,因为ATMega32A使用的是软件模拟USB。

如何配置rules.mk文件以正常使用OLED屏幕?

在rules.mk中定义I2C_DRIVER为I2CD1,并设置I2C1_SCL_PIN为B8,I2C1_SDA_PIN为B9。

➡️

继续阅读