在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            詳解RS485通信

            作者: 時間:2016-12-16 來源:網(wǎng)絡(luò) 收藏

              /*****************************main.c 文件程序源代碼******************************/

            view plaincopy to clipboardprint?
            1. #include
            2. unsignedcharT0RH=0;//T0重載值的高字節(jié)
            3. unsignedcharT0RL=0;//T0重載值的低字節(jié)
            4. voidConfigTimer0(unsignedintms);
            5. externvoidUartDriver();
            6. externvoidConfigUART(unsignedintbaud);
            7. externvoidUartRxMonitor(unsignedcharms);
            8. externvoidUartWrite(unsignedchar*buf,unsignedcharlen);
            9. voidmain(){
            10. EA=1;//開總中斷
            11. ConfigTimer0(1);//配置T0定時1ms
            12. ConfigUART(9600);//配置波特率為9600
            13. while(1){
            14. UartDriver();//調(diào)用串口驅(qū)動
            15. }
            16. }
            17. /*串口動作函數(shù),根據(jù)接收到的命令幀執(zhí)行響應(yīng)的動作
            18. buf-接收到的命令幀指針,len-命令幀長度*/
            19. voidUartAction(unsignedchar*buf,unsignedcharlen){
            20. //在接收到的數(shù)據(jù)幀后添加換車換行符后發(fā)回
            21. buf[len++]=;
            22. buf[len++]=;
            23. UartWrite(buf,len);
            24. }
            25. /*配置并啟動T0,ms-T0定時時間*/
            26. voidConfigTimer0(unsignedintms){
            27. unsignedlongtmp;//臨時變量
            28. tmp=11059200/12;//定時器計數(shù)頻率
            29. tmp=(tmp*ms)/1000;//計算所需的計數(shù)值
            30. tmp=65536-tmp;//計算定時器重載值
            31. tmp=tmp+33;//補償中斷響應(yīng)延時造成的誤差
            32. T0RH=(unsignedchar)(tmp>>8);//定時器重載值拆分為高低字節(jié)
            33. T0RL=(unsignedchar)tmp;
            34. TMOD&=0xF0;//清零T0的控制位
            35. TMOD|=0x01;//配置T0為模式1
            36. TH0=T0RH;//加載T0重載值
            37. TL0=T0RL;
            38. ET0=1;//使能T0中斷
            39. TR0=1;//啟動T0
            40. }
            41. /*T0中斷服務(wù)函數(shù),執(zhí)行串口接收監(jiān)控*/
            42. voidInterruptTimer0()interrupt1{
            43. TH0=T0RH;//重新加載重載值
            44. TL0=T0RL;
            45. UartRxMonitor(1);//串口接收監(jiān)控
            46. }

              現(xiàn)在看這種串口程序,是不是感覺很簡單了呢?串口通信程序我們反反復(fù)復(fù)的使用,加上隨著學(xué)習的模塊越來越多,實踐的越來越多,原先感覺很復(fù)雜的東西,現(xiàn)在就會感到簡單了。從設(shè)備管理器里可以查看所有的 COM 口號,我們下載程序用的是 COM4,而 USB 轉(zhuǎn)RS485 虛擬的是 COM5,通信的時候我們用的是 COM5 口,如圖 18-3 所示。


            上一頁 1 2 3 下一頁

            關(guān)鍵詞: RS485通

            評論


            技術(shù)專區(qū)

            關(guān)閉