新聞中心

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

        51單片機串口檢測程序

        作者: 時間:2011-05-12 來源:網(wǎng)絡 收藏

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

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

        //向發(fā)送一個字符串,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);
        }


        //接收中斷函數(shù)
        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 ; //如果接收的數(shù)據(jù)達到INBUF_LEN個,且校驗沒錯,
        //就置位取數(shù)標志
        }
        }
        }
        }


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

        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 和平区| 两当县| 定日县| 都江堰市| 兰溪市| 宜君县| 安乡县| 贺州市| 泗洪县| 齐河县| 雷山县| 尼玛县| 托里县| 集贤县| 七台河市| 东明县| 武宁县| 阿拉善右旗| 九江市| 安徽省| 屏东市| 梁河县| 浏阳市| 界首市| 运城市| 南川市| 锡林郭勒盟| 格尔木市| 霍城县| 济阳县| 秦安县| 阜宁县| 贺州市| 托克托县| 衡阳市| 元阳县| 阳泉市| 高密市| 唐河县| 襄城县| 太白县|