×
单片机 > 单片机程序设计 > 详情

STM32F0(9)串口初始化

发布时间:2020-08-21 发布时间:
|

// 只初始化了RX功能,因为之前没有用到Tx功能,所以没有配置

void PM25_UART2_Init(void) // 串口UART2初始化

{

RCC->APB1ENR |= RCC_APB1ENR_USART2EN;         // 串口时钟使能

RCC->AHBENR |= RCC_AHBENR_GPIOAEN;            // 打开串口所对应的GPIO引脚时钟

GPIOA->AFR[0] |= 0x00001000;      // 开启复用功能的对应AFIO(对应截图)

GPIOA->MODER |=  GPIO_MODER_MODER3_1;         // 开启GPIO复用模式

GPIOA->MODER &= ~GPIO_MODER_MODER3_0;

USART2->BRR = 0x3a98;                         //波特率,时钟频率,波特率设置

USART2->CR1 |= USART_CR1_RXNEIE | USART_CR1_UE | USART_CR1_RE; // 打开串口,8位数据格式,1个停止位,无校验位

NVIC->ISER[0] |= (1 << USART2_IRQn);      // 串口中断开关

NVIC->IP[USART2_IRQn / 4] |= (0x00000000 << (8 * (USART2_IRQn % 4))); // 串口中断优先级

}

void USART2_IRQHandler(void)  // 中断服务程序

{

if(USART2->ISR & USART_ISR_RXNE)// 读取状态标志位判断是收到数据还是发送的数据

{

     // 处理接收到的数据

}

}




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项