新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STC8954RD 串口接收

        STC8954RD 串口接收

        作者: 時間:2016-11-11 來源:網絡 收藏
        #include
        #include
        #include
        #include
        #include
        //初始化串口
        void InitCOM(void)
        {
        #if 1
        SCON = 0x50; //8bit
        TMOD = 0x20; //timer1 mode 2
        PCON = 0x00; //SMOD=1, double baud
        TL1 = 0xFD;
        TH1 = 0xFD; //Baud = 9600, 11.0592MHz
        //IE |= 0x90; //Serail break enable
        TR1 = 1; //timer1 start
        ES = 0;
        EA = 0; //disable interrupt
        #else
        SCON = = 0x50;
        TH2 = 0XFF;
        TL2 = 0xFD //baud = 115200, 11.0592MHz
        RCAP2H = 0xFF;
        RCAP2L = 0xFD; //
        TCLK = 1;
        RCLK = 1;
        C-T2 = 0;
        TR2 = 1;
        #endif
        }
        //寫串口
        void COMPutc(char cdata)
        {
        SBUF = cdata;
        while(!TI);
        TI = 0;
        }
        void COMWrite(char* str)
        {
        while(*str)
        COMPutc(*str++);
        }
        void COMWriteNum(int num, char* str)
        {
        char d[32];
        sprintf(d, "%s:%dn", str, num);
        COMWrite(d);
        }
        //讀取串口
        char COMGetc(void)
        {
        char temp;
        while(!RI);
        temp = SBUF;
        RI = 0;
        return temp;
        }
        void COMRead(char* str, unsigned char length)
        {
        unsigned char i = 0;
        for(i = 0; i < length; i++)
        {
        str[i] = COMGetc();
        }
        }
        void COMReadEnter(char* str)
        {
        char temp;
        do
        {
        //Delay(1);
        //COMWrite("ndatan");
        temp = COMGetc();
        *str=temp;
        //COMPutc(temp);
        str++;
        }while(temp!=n && temp!=r);
        *str = 主站蜘蛛池模板: 齐河县| 海原县| 绩溪县| 曲水县| 北海市| 抚宁县| 勃利县| 太保市| 出国| 武清区| 军事| 吉木乃县| 方正县| 河北省| 城固县| 兴仁县| 永顺县| 霍山县| 阳曲县| 奎屯市| 舞阳县| 星座| 卫辉市| 桓仁| 星子县| 泸西县| 商都县| 贺州市| 山丹县| 龙岩市| 苍梧县| 融水| 曲沃县| 富裕县| 威海市| 望城县| 龙山县| 东源县| 西林县| 太康县| 漳州市|