stm32F103串口1初始化的代码
时间: 2023-03-12 09:28:18 浏览: 61
要初始化STM32F103的串口1,可以参考下面的代码://初始化串口1
void USART1_init(u32 bound){
//开启串口1的时钟
RCC->APB2ENR|=1<<2; //使能PORTA口时钟
RCC->APB2ENR|=1<<14; //使能串口1时钟
//设置PA9,PA10为复用功能
GPIOA->CRH&=0XFFFFF00F;
GPIOA->CRH|=0X000008B0;
//设置波特率
USART1->BRR=bound;
//使能接收和发送
USART1->CR1|=1<<13;
USART1->CR1|=1<<3;
//使能串口1
USART1->CR1|=1<<0;
}
相关问题
stm32f103zet6串口初始化代码
以下是使用STM32CubeMX生成的代码,用于初始化STM32F103ZET6的USART1串口:
```c
/* USART1 init function */
void MX_USART1_UART_Init(void)
{
huart1.Instance = USART1;
huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;
huart1.Init.Mode = UART_MODE_TX_RX;
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart1.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart1) != HAL_OK)
{
Error_Handler();
}
}
```
在主函数中调用`MX_USART1_UART_Init()`即可完成串口的初始化。
STM32F103C8T6 串口初始化代码
以下是使用STM32CubeMX生成的基本串口初始化代码:
```
/* UART1 init function */
void MX_USART1_UART_Init(void)
{
huart1.Instance = USART1;
huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;
huart1.Init.Mode = UART_MODE_TX_RX;
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart1.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart1) != HAL_OK)
{
Error_Handler();
}
}
```
以上代码使用的是UART1,波特率为115200,数据位为8位,停止位为1位,无校验位,双向传输模式,无硬件流控制,采用16倍频率超采样。
注意:以上代码仅为初始化代码,使用时需要在main函数中调用该初始化函数。另外,还需在主函数中开启串口中断(如果需要使用中断方式接收数据)。