新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機串口檢測程序

        51單片機串口檢測程序

        作者: 時間:2011-05-12 來源:網絡 收藏

        void send_char_com( unsigned char ch)
        {
        SBUF=ch;
        while (TI== 0 );
        TI= 0 ;
        }

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

        //向發送一個字符串,strlen為該字符串長度
        void send_string_com( unsigned char *str, unsigned int strlen)
        {
        unsigned int k= 0 ;
        do
        {
        send_char_com(*(str + k));
        k++;
        } while (k strlen);
        }


        //接收中斷函數
        void serial () interrupt 4 using 3
        {
        if (RI)
        {
        unsigned char ch;
        RI = 0 ;
        ch=SBUF;
        if (ch> 127 )
        {
        count3= 0 ;
        inbuf1[count3]=ch;
        checksum= ch- 128 ;
        }
        else
        {
        count3++;
        inbuf1[count3]=ch;
        checksum ^= ch;
        if ( (count3==(INBUF_LEN- 1 )) (!checksum) )
        {
        read_flag= 1 ; //如果接收的數據達到INBUF_LEN個,且校驗沒錯,
        //就置位取數標志
        }
        }
        }
        }


        main()
        {
        init_serialcomm(); //初始化串口
        while ( 1 )
        {
        if (read_flag) //如果取數標志已置位,就將讀到的數從串口發出
        {
        read_flag= 0 ; //取數標志清0
        send_string_com(inbuf1,INBUF_LEN);
        }
        }

        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 无锡市| 阜阳市| 怀安县| 张家港市| 仁怀市| 蛟河市| 卢氏县| 松潘县| 阿克苏市| 和顺县| 新巴尔虎右旗| 长葛市| 治县。| 涟源市| 灌阳县| 河南省| 阿图什市| 施秉县| 姜堰市| 綦江县| 资兴市| 邮箱| 京山县| 土默特左旗| 延津县| 沙田区| 响水县| 兰考县| 麻阳| 额尔古纳市| 昌乐县| 昭平县| 武隆县| 会宁县| 安泽县| 大厂| 宁明县| 榕江县| 资兴市| 大丰市| 车致|