from micropython import const class BoardConfig: def __init__(self, name): self.name = name self.pins = {} self.audio = {} self.mic = {} # ----------------------------------------------------------------------------- # 非摄像头版本配置 (NON_CAMERA_VERSION) # 对应 C++: NON_CAMERA_VERSION_CONFIG # ----------------------------------------------------------------------------- NON_CAMERA = BoardConfig("NON_CAMERA") NON_CAMERA.pins = { 'bl': 3, # 背光 'mosi': 10, # SPI MOSI / SDA 'sck': 9, # SPI CLK / SCK 'dc': 46, # Data/Command 'rst': 11, # Reset 'cs': 12 # Chip Select } NON_CAMERA.audio = { 'enabled': True, 'sd': 7, # Serial Data (DOUT) -> 扬声器 'bck': 15, # Bit Clock (BCLK) 'ws': 16, # Word Select (LRCK) 'sample_rate': 24000 } NON_CAMERA.mic = { 'enabled': True, 'sd': 6, # Serial Data (DIN) <- 麦克风 'sck': 5, # Bit Clock (SCK) 'ws': 4, # Word Select (WS) 'sample_rate': 16000 } # ----------------------------------------------------------------------------- # 摄像头版本配置 (CAMERA_VERSION) # 对应 C++: CAMERA_VERSION_CONFIG # ----------------------------------------------------------------------------- CAMERA = BoardConfig("CAMERA") CAMERA.pins = { 'bl': 38, 'mosi': 45, 'sck': 48, 'dc': 47, 'rst': 1, 'cs': None # 无 CS 引脚 } # 摄像头版本使用 Duplex I2S (同一组引脚) CAMERA.audio = { 'enabled': True, 'sd': 39, # DOUT 'bck': 42, 'ws': 40, 'sample_rate': 16000 } CAMERA.mic = { 'enabled': True, 'sd': 41, # DIN 'sck': 42, # 复用 BCLK 'ws': 40, # 复用 WS 'sample_rate': 16000 } # ============================================================================= # 当前使用的配置 # ============================================================================= # 默认使用 NON_CAMERA (普通版),请根据你的实际硬件选择 CURRENT_CONFIG = NON_CAMERA