STM32F722ZE MicroPython报错:Pin(PC13)不存在,求解决方案
解决STM32F722ZE MicroPython中PC13引脚访问报错的方案
方案一:使用引脚硬件编号直接访问
STM32引脚可通过十进制硬件编号直接调用,计算规则为:
- 端口A:0~15
- 端口B:16~31
- 端口C:32~47
- 后续端口依次递增16个编号
PC13属于端口C第13位,对应硬件编号为 32 + 13 = 45,修改代码如下:
import pyb def main(): green_led = pyb.Pin('D33', mode=pyb.Pin.OUT_PP) # 用硬件编号45替代PC13 button = pyb.Pin(45, mode=pyb.Pin.IN, pull=pyb.Pin.PULL_DOWN) while True: green_led.value(0 if button.value() else 1) main()
方案二:改用machine模块访问引脚
部分STM32的MicroPython固件对machine.Pin兼容性更好,支持直接使用PC13格式命名,修改代码如下:
from machine import Pin def main(): green_led = Pin('D33', Pin.OUT_PP) button = Pin('PC13', Pin.IN, Pin.PULL_DOWN) while True: green_led.value(0 if button.value() else 1) main()
方案三:查找开发板引脚别名
检查开发板丝印或配套MicroPython固件文档,找到PC13对应的板载引脚别名(如Arduino风格的Dxx编号),替换代码中的PC13即可。例如部分STM32开发板会将PC13映射为D2或KEY。
内容的提问来源于stack exchange,提问作者Sashish Acharya
相关产品推荐
相关产品推荐

