您现在的位置: 主页 > MCU > 单片机应用 > STM32F0(9)串口初始化 -
本文所属标签:
为本文创立个标签吧:

STM32F0(9)串口初始化 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-11 

[导读]// 只初始化了RX功能,因为之前没有用到Tx功能,所以没有配置void PM25_UART2_Init(void) // 串口UART2初始化{RCC->APB1ENR |= RCC_APB1ENR_USART2EN; // 串口时钟使能RCC->AHBENR |= RCC_AHBENR_GPIOAEN; // 打开串

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

本文引用地址: http://www.21ic.com/app/mcu/201809/779260.htm

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)// 读取状态标志位判断是收到数据还是发送的数据

{

// 处理接收到的数据

}

}




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机应用 > STM32F0(9)串口初始化 -
 

"STM32F0(9)串口初始化 -"的相关文章

网站地图

围观()