实验目的:了解串口通信的原理和实现:将PA9和PA10复用为串口,实现信息的传输
基本实验步骤:1.串口时钟使能;GPIO时钟使能
RCC_AHBPeriphClockCmd()
RCC_AHB1PeriphResetCmd
2.引脚复用映射
GPIO_PinAFConfig
3.GPIO端口初始化模式设置
GPIO_Init
4.串口参数初始化
USART_Init()
5.开启中断并且初始化NVIC(如果需要中断才需要这个步骤)
NVIC_Init
USART_ITConfig()
6.使能串口
USART_Cmd()
7.编写中断处理函数
USART1_IRQHandler
8.串口数据收发
USART_SendData()
USART_ReceiveData()
9.串口传输状态获取
FlagStatus USART_GetFlagStatus
void USART_ClearFlag
代码实现:
void my_uart_init(){
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能
//´端口映射,对于此处,不能使用GPIO_PinSource9|GPIO_PinSource10,否则无法接受
GPIO_PinAFConfig(GPIOA,GPIO_PinSource9