新聞中心

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

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

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

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

        首先是配置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 串口配置 中斷方式

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 泌阳县| 闽清县| 师宗县| 浑源县| 莱阳市| 临海市| 永州市| 台中县| 金华市| 县级市| 天台县| 保靖县| 高州市| 新安县| 林芝县| 扎囊县| 陇南市| 贡觉县| 宜宾市| 宣化县| 彭水| 南通市| 买车| 鄂温| 鄢陵县| 平陆县| 石棉县| 东乡县| 宁陕县| 肇东市| 易门县| 淳安县| 萨嘎县| 任丘市| 连城县| 株洲县| 个旧市| 西吉县| 宝山区| 海盐县| 肥东县|