STM32 之 UART1(2)
uart1
* Input : None
* Output : None
* Return : None
*******************************************************************************/
voidUART1_Configuration(void)
{
USART_InitTypeDefUSART_InitStructure_UART1;
/* USART1 configured as follow:
- BaudRate = 9600 baud
- Word Length = 8 Bits
- One Stop Bit
- No parity
- Hardware flow control disabled (RTS and CTS signals)
- Receive and transmit enabled
*/
USART_InitStructure_UART1.USART_BaudRate=9600;// 配置UART1 波特率为9600
USART_InitStructure_UART1.USART_WordLength=USART_WordLength_8b;// 配置UART1 传输过程中每一帧的数据位数为 8位
USART_InitStructure_UART1.USART_StopBits=USART_StopBits_1;// 配置UART1 发送停止位 为1个
USART_InitStructure_UART1.USART_Parity=USART_Parity_No;// 配置UART1 奇偶效验模式 为无奇偶效验
USART_InitStructure_UART1.USART_HardwareFlowControl=USART_HardwareFlowControl_None;// 配置UART1 硬件流控制 为无硬件流控制
USART_InitStructure_UART1.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;// 配置UART1 使能发射和接受模式
/* Configure the USART1*/
USART_Init(USART1,&USART_InitStructure_UART1);// 初始化UART1
/* Enable USART1 Receive and Transmit interrupts */
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);// 配置UART1接受中断使能
/* Enable the USART1 */
USART_Cmd(USART1,ENABLE);// 使能UART1
}
/*******************************************************************************
* Function Name : GPIO_Configuration
* Description : Configures the different GPIO ports.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
voidGPIO_Configuration(void)
{
GPIO_InitTypeDefGPIO_InitStructure_LED_PORTB;
GPIO_InitTypeDefGPIO_InitStructure_KEY_PORTA;
GPIO_InitTypeDefGPIO_InitStructure_KEY_PORTB;
GPIO_InitTypeDefGPIO_InitStructure_KEY_PORTC;
GPIO_InitTypeDefGPIO_InitStructure_UART1_TX_PORTA;
GPIO_InitTypeDefGPIO_InitStructure_UART1_RX_PORTA;
//==== LED =======================================================
GPIO_InitStructure_LED_PORTB.GPIO_Pin=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure_LED_PORTB.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure_LED_PORTB.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
GPIO_Init(GPIOB,&GPIO_InitStructure_LED_PORTB);
//==== KEY =======================================================
GPIO_InitStructure_KEY_PORTA.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure_KEY_PORTA.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure_KEY_PORTA.GPIO_Mode=GPIO_Mode_IPU;//上拉输入
GPIO_Init(GPIOA,&GPIO_InitStructure_KEY_PORTA);
GPIO_InitStructure_KEY_PORTB.GPIO_Pin=GPIO_Pin_7;
GPIO_InitStructure_KEY_PORTB.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure_KEY_PORTB.GPIO_Mode=GPIO_Mode_IPU;//上拉输入
GPIO_Init(GPIOB,&GPIO_InitStructure_KEY_PORTB);
GPIO_InitStructure_KEY_PORTC.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure_KEY_PORTC.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure_KEY_PORTC.GPIO_Mode=GPIO_Mode_IPU;//上拉输入
GPIO_Init(GPIOC,&GPIO_InitStructure_KEY_PORTC);
//==== UART1 ======================================================
// Configure USART1_Tx as alternate function push-pull
GPIO_InitStructure_UART1_TX_PORTA.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStructure_UART1_TX_PORTA.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure_UART1_TX_PORTA.GPIO_Mode=GPIO_Mode_AF_PP;//复用推挽输出
GPIO_Init(GPIOA,&GPIO_InitStructure_UART1_TX_PORTA);
// Configure USART1_Rx as input floating
GPIO_InitStructure_UART1_RX_PORTA.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure_UART1_RX_PORTA.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure_UART1_RX_PORTA.GPIO_Mode=GPIO_Mode_IN_FLOATING;// 悬浮输入
GPIO_Init(GPIOA,&GPIO_InitStructure_UART1_RX_PORTA);
}
/*******************************************************************************
* Function Name : 精确延时函数
*******************************************************************************/
voidDelay_Ms(u32nTime)
{
/* Enable the SysTick Counter */
SysTick_CounterCmd(SysTick_Counter_Enable);
TimingDelay=nTime;
while(TimingDelay!=0);
/* Disable SysTick Counter */
SysTick_CounterCmd(SysTick_Counter_Disable);
/* Clear SysTick Counter */
SysTick_CounterCmd(SysTick_Counter_Clear);
}
STM32UART 相关文章:
- STM32 之 UART1(1)(12-03)
- STM32 UART5 中断接收程序(12-03)
- STM32 UART4 UART5(11-28)
- STM32 UART DMA实现未知数据长度接收(11-19)
- STM32 UART的使用过程(11-17)
- STM32 UART 重映射(11-10)