关于STM32的USART配置,需要完成以下几个步骤1,打开USART时钟2,配置PA9及PA10由于USART属于可选功能项所以TX要设置成GPIO_Mode_AF_PP;,即复用推挽输出RX用于数据输入,被设置成浮空输入这是由于STM32的IO口引脚总共只有以下几种模式GPIO_Mode_AIN = 0x0,GPIO_Mode_IN_FLOATING = 0x04,GPIO_Mode_IPD = 0x28,GPIO_Mode_IPU = 0x48,GPIO_Mode_Out_OD = 0x14,GPIO_Mode_Out_PP = 0x10,GPIO_Mode_AF_OD = 0x1C,GPIO_Mode_AF_PP = 0x18对于特殊功能模式,只有一个复用开漏及复用推挽。这两种都是用于输出的情况。所以RX只能被设置成浮空输入这不仅是USART,对于其他的如SPI也是如此。
复用就是这个管脚除了普通GPIO之外的功能,在datasheet肯定可以看到例如:PC1/I2C/usart之类的说明,如果使用了复用功能,那么该管脚不再作为普通GPIO(PC1)作用。
截至2010年7月1日,市面流通的型号有:
基本型:STM32F101R6、STM32F101C8、STM32F101R8、STM32F101V8、STM32F101RB、STM32F101VB。
增强型:STM32F103C8、STM32F103R8、STM32F103V8、STM32F103RB、STM32F103VB、 STM32F103VE、STM32F103ZE。
STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分。
扩展资料:
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);
STM32中这两句话的意思是PB口的8、9管脚作为外部中断的触发信号,所以Pin_8和Pin_9就要设置成输入的模式。
而GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
中IPU是指IO口的工作模式是带上拉输入,这个和具体的电路有关;
总之如果选择某个IO口作为外部中断的触发信号,就必须配置这个IO口为输入模式,不然无法触发中断。
参考资料来源:百度百科-stm32
必须要使能时钟,而且还要使能复用功能时钟,
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO , ENABLE);
STM32F1中:
1、打开对应GPIO端口时钟,打开复用功能外设的时钟
2、配置GPIO模式(你想复用成是什么外设,这里你就配置成什么)
STM32F4中:
GPIO初始化的时候可以直接设置的,uint32_t Alternate;就是设置复用功能
本文标签:stm32gpio_mode_af