STM32F103C8T6 USART2 配置
生活随笔
收集整理的這篇文章主要介紹了
STM32F103C8T6 USART2 配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
void uart_init( u32 bound )
{/* GPIO端口設置 */GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE ); RCC_APB1PeriphClockCmd( RCC_APB1Periph_USART2, ENABLE ); /* 使能USART1,GPIOA時鐘 *//* PA2 TXD2 */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Init( GPIOA, &GPIO_InitStructure );/* PA3 RXD2 */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init( GPIOA, &GPIO_InitStructure );/* Usart1 NVIC 配置 */NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; /* 搶占優先級3 */NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; /* 子優先級3 */NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /* IRQ通道使能 */NVIC_Init( &NVIC_InitStructure ); /* 根據指定的參數初始化VIC寄存器 *//* USART 初始化設置 */USART_InitStructure.USART_BaudRate = bound; /* 串口波特率 */USART_InitStructure.USART_WordLength = USART_WordLength_8b; /* 字長為8位數據格式 */USART_InitStructure.USART_StopBits = USART_StopBits_1; /* 一個停止位 */USART_InitStructure.USART_Parity = USART_Parity_No; /* 無奇偶校驗位 */USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; /* 無硬件數據流控制 */USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; /* 收發模式 */USART_Init( USART2, &USART_InitStructure ); /* 初始化串口1 */USART_ITConfig( USART2, USART_IT_RXNE, ENABLE ); /* 開啟串口接受中斷 */USART_Cmd( USART2, ENABLE ); /* 使能串口 2 */
}
void USART2_IRQHandler( void )
{if ( USART_GetITStatus( USART2, USART_IT_RXNE ) != RESET ) {res = USART_ReceiveData( USART2 ); USART_SendData(USART2,res);}
}
總結
以上是生活随笔為你收集整理的STM32F103C8T6 USART2 配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022双十一最亮投影仪推荐,当贝X3激
- 下一篇: WINDOWS10您需要 Trusted