帮我写一段适用于keil5的代码,要求适用于stm32f103c8t6,完成以下要求:激活并配置USART1和USART2
时间: 2023-02-22 10:47:37 浏览: 85
以下是适用于Keil 5 和 STM32F103C8T6 的代码,用于激活和配置 USART1 和 USART2:
```
#include "stm32f10x.h"
void USART1_Init(void)
{
// 开启 USART1 时钟
RCC->APB2ENR |= RCC_APB2ENR_USART1EN;
// 配置 USART1 的波特率
USART1->BRR = 0x9C4;
// 配置 USART1 的数据格式,8 位数据位,无校验位,1 位停止位
USART1->CR1 &= ~USART_CR1_M;
USART1->CR2 &= ~USART_CR2_STOP;
// 开启 USART1 接收和发送
USART1->CR1 |= USART_CR1_RE | USART_CR1_TE;
// 开启 USART1
USART1->CR1 |= USART_CR1_UE;
}
void USART2_Init(void)
{
// 开启 USART2 时钟
RCC->APB1ENR |= RCC_APB1ENR_USART2EN;
// 配置 USART2 的波特率
USART2->BRR = 0x9C4;
// 配置 USART2 的数据格式,8 位数据位,无校验位,1 位停止位
USART2->CR1 &= ~USART_CR1_M;
USART2->CR2 &= ~USART_CR2_STOP;
// 开启 USART2 接收和发送
USART2->CR1 |= USART_CR1_RE | USART_CR1_TE;
// 开启 USART2
USART2->CR1 |= USART_CR1_UE;
}
int main(void)
{
// 初始化 USART1 和 USART2
USART1_Init();
USART2_Init();
while (1)
{
// 此处可以添加你的代码
}
return 0;
}
```
注意:请确保已经正确配置了 STM32F103
阅读全文