新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機串口的問題

        51單片機串口的問題

        作者: 時間:2013-01-16 來源:網絡 收藏

        想問一下:單片機串口在接收的時候是怎么接收的?如上位機一次發送一個字符串11223344,通過串口助手下發給單片機。用下面的程序
        /***********************************************************/
        /* 程序 */
        /********************************************************/
        void UART_SER () interrupt 4
        {

        uchar Temp; // 定義臨時變量

        if(RI) // 判斷是接收中斷產生

        {

        RI=0; // 標志位清零

        Temp=SBUF; // 讀入的值

        P1=Temp; // 把值輸出到 P1 口,用于觀察

        SBUF=Temp; // 把接收到的值再發回電腦端

        }

        if(TI) // 如果是發送標志位,清零

        TI=0;
        }

        單片機能夠把上位機的數據全部接收后原樣傳輸回去
        ------------------------------------

        我修改了一下程序:,把上面的判斷改為

        if(RI) // 判斷是接收中斷產生

        {

        RI=0; // 標志位清零

        Temp=SBUF; // 讀入的值

        P1=Temp; // 把值輸出到 P1 口,用于觀察

        SBUF=Temp; // 把接收到的值再發回電腦端

        while(!TI);

        TI=0;

        SBUF='o';

        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长海县| 深水埗区| 二连浩特市| 崇信县| 儋州市| 滦南县| 旬阳县| 沂南县| 德庆县| 台中市| 乡宁县| 襄垣县| 托克托县| 彭州市| 嘉鱼县| 高唐县| 海宁市| 沁源县| 安塞县| 梁平县| 南阳市| 克山县| 湟中县| 鲁山县| 沁水县| 丘北县| 舟山市| 昭苏县| 文昌市| 西城区| 陆河县| 屏东县| 彭泽县| 隆子县| 藁城市| 山东省| 桃源县| 海南省| 潮安县| 米易县| 长寿区|