2.2.备用功能(AF)除了用作通用 IO 口以外,所有的 GPIO 都有备用功能。对于 GD32F10x/20x/30x/403/E10x/E50x/A501/VF103 系列 MCU,用户可通过软件将某一个 GPIO配置为复用模式,然后再使能相应外设即可使用 IO 对应的复用功能。对于 GD32F1x0/3x0/4xx/E23x/A501 系列 MCU,用户可通过软件将某一个...
其中形参gpio_periph为需要设置的GPIO口组,其对应的实参为GPIOx(x = A,B,C,D,E,F,G),形参alt_func_num为需要设置复用类型,对应的实参为: GPIO_AF_0(复用类型0) GPIO_AF_1(复用类型1) GPIO_AF_2(复用类型2) GPIO_AF_3(复用类型3) GPIO_AF_4(复用类型4) GPIO_AF_5(复用类型5) GPIO_AF_6(...
/* connect I2C_SDA_GPIO_PIN to I2C_SDA */ gpio_af_set(GPIO_SDA, GPIO_AF_1, GPIO_Pin_SDA); #elif defined GD32F4XX gpio_af_set(GPIO_SCL, GPIO_AF_4, GPIO_Pin_SCL); gpio_af_set(GPIO_SDA, GPIO_AF_4, GPIO_Pin_SDA); #endif gpio_mode_set(GPIO_SCL, GPIO_MODE_AF, GPIO_PUP...
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10); /*configure USART Rx as alternate function push-pull*/ gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_11); gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN...
AFIO模式相较于REMAP的方式,使用更灵活,采用AFIO配置表进行配置,只要这个引脚具有的功能都可以使用,如下图GD32F3X0的AF表,根据表中的配置可以随意使用。掌握了以上两种GPIO备用功能配置,我们就介绍下两种备用功能下调试口如何作为GPIO使用:1、remap重映射模式下 如下图所示,可通过调整SWJ_CFG控制位进行配置。...
rcu_periph_clock_enable(RCU_AF); gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE); 具体remap形参配置有以下三种,GPIO_SWJ_NONJTRST_REMAP为全SWD功能,NJTRST可以作为GPIO使用,GPIO_SWJ_SWDPENABLE_REMAP为禁用JTAG,使能SWD,也就是PB15/PB3/PB4可以作为GPIO;GPIO_SWJ_DISABLE_REMAP为JTAG和SWD均禁用...
当需要将GPIO设置为复用模式时,除了调用gpio_mode_se设置GPIO模式外,还需要调用函数gpio_af_set进行复用类型的设置。gpio_af_set函数原型为: void gpio_mode_set(uint32_t gpio_periph, uint32_t alt_func_num, uint32_t pin) { xxx xxx } 其中形参gpio_periph为需要设置的GPIO口组,其对应的实参为GPIOx(...
gpio_af_set(GPIOB,, GPIO_PIN_6);//AF数值根据数据手册来设置 /* connect PB7 to I2C0_SDA *...
void GPIO_Configuration_I2C(uint32_t I2Cx) { uint32_t GPIO_SDA; uint32_t GPIO_SCL; uint32_t GPIO_Pin_SDA,GPIO_Pin_SCL; rcu_periph_reset_enable(RCU_I2C0RST); rcu_periph_reset_disable(RCU_I2C0RST); #if defined GD32F10X_HD || GD32F30X_HD || GD32F20X_CL || GD32E10X |...