新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32的串口配置(中斷方式)

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

        作者: 時間:2013-04-10 來源:網絡 收藏

        的串口中斷配置,也是很簡單的.

        首先是配置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);

        }

        然后是配置串口參數

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

        * 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);

        }

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南平市| 濉溪县| 宣武区| 湟源县| 汉源县| 嘉定区| 澄迈县| 东乡县| 高密市| 行唐县| 宜兰县| 梁平县| 宜黄县| 镇宁| 昭觉县| 玉环县| 加查县| 垦利县| 通道| 开阳县| 红桥区| 集贤县| 安塞县| 康保县| 固始县| 黔江区| 桑日县| 南投市| 邮箱| 鹤峰县| 古丈县| 双牌县| 湛江市| 濮阳县| 吉水县| 德清县| 安图县| 融水| 云阳县| 博兴县| 七台河市|