新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32的串口配置(中斷方式)

        STM32的串口配置(中斷方式)

        作者: 時(shí)間:2013-04-10 來源:網(wǎng)絡(luò) 收藏

        的串口中斷配置,也是很簡(jiǎn)單的.

        首先是配置UART的GPIO口

        首先是配置UART的GPIO口

        /**********************************************

        * Name : UART1_GPIO_Configuration

        * Deion : Configures the uart1 GPIO ports.

        * Input : None

        * Output : None

        * Return : None

        **********************************************************/

        void UART1_GPIO_Configuration(void)

        {

        GPIO_InitTypeDef GPIO_InitStructure;

        // Configure USART1_Tx as alternate push-pull

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;

        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

        GPIO_Init(GPIOA, GPIO_InitStructure);

        // Configure USART1_Rx as input floating

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

        GPIO_Init(GPIOA, GPIO_InitStructure);

        }

        然后是配置串口參數(shù)

        /*******************************************************

        * Name : UART1_Configuration

        * Deion : Configures the uart1

        * Input : None

        * Output : None

        * Return : None

        *********************************************/

        void USART_Configuration(void)

        {

        USART_InitTypeDef USART_InitStructure;

        USART_ClockInitTypeDef USART_ClockInitStructure;

        Uart1_GPIO_Configuration();

        USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;

        USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low;

        USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge;

        USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable;

        /* Configure the USART1 synchronous paramters */

        USART_ClockInit(USART1, USART_ClockInitStructure);

        USART_InitStructure.USART_BaudRate = 9600;

        USART_InitStructure.USART_WordLength = USART_WordLength_8b;

        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;

        /* Configure USART1 basic and asynchronous paramters */

        USART_Init(USART1, USART_InitStructure);

        /* Enable USART1 Receive interrupts */

        USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

        /* Enable USART1 */

        USART_Cmd(USART1, ENABLE);

        }

        然后是在中斷設(shè)置,需要修改stm32f10x_it.c 中的串口中斷函數(shù) 并且需要修改void NVIC_Configuration(void)函數(shù)


        上一頁 1 2 下一頁

        關(guān)鍵詞: STM32 串口配置 中斷方式

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 永新县| 上杭县| 合江县| 沙雅县| 无极县| 五常市| 双流县| 乌鲁木齐市| 金寨县| 蒙山县| 长沙市| 剑河县| 忻城县| 南丰县| 临高县| 开封县| 南安市| 宁德市| 克拉玛依市| 新龙县| 江阴市| 固原市| 凤山县| 阳曲县| 威信县| 安陆市| 长白| 望城县| 新乐市| 阳谷县| 周至县| 泰州市| 陆良县| 南宫市| 汪清县| 六安市| 贵港市| 汝城县| 渝北区| 万盛区| 确山县|