STM32F40x系列单片机的外设使用基本上要遵循三步曲
1、时钟使能
2、GPIO配置(如果涉及到GPIO的外设)
3、对应的外设配置并使能
对于USART的配置也不例外,下面以USART3为例进行介绍。
第一步:配置USART3的功能,使之可以通过USART3发送数据。(发送数据接收数据容易多了)
/*
本人使用的芯片信息如下:
名称:STM32F407IGT6
时钟:168MHz
相关硬件连线,USART3的TX/RX对应GPIO引脚如下:
PD8 -- USART3_TX
PD9 -- USART3_RX
*/
/*
三步曲第一步:时钟配置
*/
/*
使能:GPIOD的时钟,查阅STM32F40x的手册我们可以知道GPIOD是AHB1设备
*/
RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOD , ENABLE);
/*使能:USART3的时钟,查阅STM32F40x的手册我们可以知道USART3是APB1设备*/
RCC_APB1PeriphClockCmd( RCC_APB1Periph_USART3, ENABLE);
/*三步曲第二步:GPIO配置*/
GPIO_InitTypeDef GPIO_InitStructure;
1、时钟使能
2、GPIO配置(如果涉及到GPIO的外设)
3、对应的外设配置并使能
对于USART的配置也不例外,下面以USART3为例进行介绍。
第一步:配置USART3的功能,使之可以通过USART3发送数据。(发送数据接收数据容易多了)
/*
本人使用的芯片信息如下:
名称:STM32F407IGT6
时钟:168MHz
相关硬件连线,USART3的TX/RX对应GPIO引脚如下:
PD8 -- USART3_TX
PD9 -- USART3_RX
*/
/*
三步曲第一步:时钟配置
*/
/*
使能:GPIOD的时钟,查阅STM32F40x的手册我们可以知道GPIOD是AHB1设备
*/
RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOD , ENABLE);
/*使能:USART3的时钟,查阅STM32F40x的手册我们可以知道USART3是APB1设备*/
RCC_APB1PeriphClockCmd( RCC_APB1Periph_USART3, ENABLE);
/*三步曲第二步:GPIO配置*/
GPIO_InitTypeDef GPIO_InitStructure;