600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 7.STM32F407ZG串口通信配置流程

7.STM32F407ZG串口通信配置流程

时间:2024-03-21 17:51:25

相关推荐

7.STM32F407ZG串口通信配置流程

步骤:

1.时钟使能:GPIO时钟使能,串口时钟使能。

RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

2.端口配置:GPIO引脚配置,复用模式。

GPIO_InitTypeDef GPIO_Struct;GPIO_Struct.GPIO_Pin=GPIO_Pin_9;GPIO_Struct.GPIO_Mode=GPIO_Mode_AF;GPIO_Struct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Struct.GPIO_OType=GPIO_OType_PP;GPIO_Struct.GPIO_PuPd=GPIO_PuPd_UP;GPIO_Init(GPIOF,&GPIO_Struct);GPIO_Struct.GPIO_Pin=GPIO_Pin_10;GPIO_Struct.GPIO_Mode=GPIO_Mode_AF;GPIO_Struct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Struct.GPIO_OType=GPIO_OType_PP;GPIO_Struct.GPIO_PuPd=GPIO_PuPd_UP;GPIO_Init(GPIOF,&GPIO_Struct);

端口为复用模式。

3.串口配置:串口参数初始化,串口使能,并开启中断。

USART_InitTypeDef Usart_Struct;Usart_Struct.USART_BaudRate=19200;Usart_Struct.USART_HardwareFlowControl=USART_HardwareFlowControl_None;Usart_Struct.USART_Mode= USART_Mode_Tx;Usart_Struct.USART_Parity=USART_Parity_No;Usart_Struct.USART_StopBits=USART_StopBits_1;Usart_Struct.USART_WordLength=USART_WordLength_8b;USART_Init(USART1,&Usart_Struct);USART_Cmd(USART1,ENABLE);

4.中断配置:中断参数设置,中断处理函数配置(中断类型,使能,抢占优先级等)。

USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);NVIC_InitTypeDef NVIC_Inst;NVIC_Inst.NVIC_IRQChannel= USART1_IRQn;NVIC_Inst.NVIC_IRQChannelCmd=ENABLE;NVIC_Inst.NVIC_IRQChannelPreemptionPriority=1;NVIC_Inst.NVIC_IRQChannelSubPriority=1;NVIC_Init(&NVIC_Inst);//NVIC Init}void USART1_IRQHandler(void){u8 res;if(USART_GetITStatus(USART1,USART_IT_RXNE)){res=USART_ReceiveData(USART1);USART_SendData(USART1,res);}}

5.主函数配置:需设置中断优先级分组。

int main(void){NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);Usart_Init();while(1);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。