💡
原文中文,约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。
➡️