新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32串口發送中斷

        STM32串口發送中斷

        作者: 時間:2016-11-19 來源:網絡 收藏


        SECTION2

        本文引用地址:http://www.104case.com/article/201611/318079.htm

        先說TC。即TransmissionComplete。發送一個字節后才進入中斷,這里稱為“發送后中斷”。和原來8051的TI方式一樣,都是發送后才進中斷,需要在發送函數中先發送一個字節觸發中斷。發送函數如下

        /*
        功能:中斷方式發送字符串.采用判斷TC的方式.即判斷發送后中斷位.
        輸入:字符串的首地址
        輸出:無
        */
        voidUSART_SendDataString(u8*pData)
        {
        pDataByte=pData;

        USART_ClearFlag(USART1,USART_FLAG_TC);//清除傳輸完成標志位,否則可能會丟失第1個字節的數據.網友提供.

        USART_SendData(USART1,*(pDataByte++));//必須要++,不然會把第一個字符t發送兩次
        }


        中斷處理函數如下
        /
        *FunctionName:USART1_IRQHandler
        *Description:ThisfunctionhandlesUSART1globalinterruptrequest.
        *Input:None
        *Output:None
        *Return:None
        */
        voidUSART1_IRQHandler(void)
        {
        if(USART_GetITStatus(USART1,USART_IT_TC)==SET)
        {
        if(*pDataByte==

        主站蜘蛛池模板: 庄浪县| 定州市| 嘉祥县| 太谷县| 永顺县| 济阳县| 孟连| 晴隆县| 新乡县| 伊通| 铜陵市| 台南县| 崇明县| 偃师市| 普兰县| 景泰县| 辽阳市| 海盐县| 阜城县| 南部县| 靖宇县| 伊吾县| 嘉峪关市| 察雅县| 永新县| 鞍山市| 乌鲁木齐县| 汝州市| 巴里| 中牟县| 科技| 资源县| 容城县| 咸丰县| 辽中县| 广昌县| 布拖县| 昂仁县| 甘谷县| 游戏| 中阳县|