CH BLE系列芯片IO功能脚都是固定的,不可以随意指定。
但是部分功能脚有映射功能,可以固定映射到某个对应IO(寄存器设置的固定映射)
功能脚有默认的IO,通过映射可以映射到对应固定的IO上,如下所示:
在引脚图上标记显示(以TXD0 和RXD0为例,默认在PB4 PB7,可以映射到PA14 PA15,这两个脚名称是TXD0_和RXD0_ 带下划线)
例程里面的IO映射的函数
/********************************************************************* * @fn GPIOPinRemap * * @brief 外设功能引脚映射 * * @param s - 是否使能映射 * @param perph - RB_RF_ANT_SW_EN - RF antenna switch control output on PA4/PA5/PA12/PA13/PA14/PA15 * RB_PIN_U0_INV - RXD0/RXD0_/TXD0/TXD0_ invert input/output * RB_PIN_INTX - INTX: INT24/INT25 PB8/PB9 -> INT24_/INT25_ PB22/PB23 * RB_PIN_MODEM - MODEM: PA6/PA7 -> PB12/PB13 * RB_PIN_I2C - I2C: PB14/PB15 -> PB14/PB15 * RB_PIN_PWMX - PWMX: PA12/PA13 -> PA6/PA7 * RB_PIN_SPI0 - SPI0: PA12/PA13/PA14/PA15 -> PB12/PB13/PB14/PB15 * RB_PIN_UART3 - UART3: PA4/PA5 -> PA4/PA5 * RB_PIN_UART2 - UART2: PB22/PB23 -> PA6/PA7 * RB_PIN_UART1 - UART1: PA8/PA9 -> PB12/PB13 * RB_PIN_UART0 - UART0: PB4/PB7 -> PA15/PA14 * RB_PIN_TMR3 - TMR2: PB22 -> PB22 * RB_PIN_TMR2 - TMR2: PA11 -> PB11 * RB_PIN_TMR1 - TMR1: PA10 -> PB10 * RB_PIN_TMR0 - TMR0: PA9 -> PB23 * * @return none */ void GPIOPinRemap(FunctionalState s, uint16_t perph) { if(s) { R16_PIN_ALTERNATE |= perph; } else { R16_PIN_ALTERNATE &= ~perph; } }
函数用法
接口初始化的时候调用一次即可
标签:CH592,IO,PIN,CH573,TXD0,映射,RB,RXD0 From: https://www.cnblogs.com/debugdabiaoge/p/17884503.html