當前位置:自動化網>武漢波仕電子有限公司門戶>應用案例>串口波特率轉換的實現

          串口波特率轉換的實現

          發布時間:2012-03-12 14:10   類型:專業論文   人瀏覽

                              武漢波仕電子有限公司孫漢華 027-51518044
           
          串口通信,就是RS-232/RS-485通信,要求通信的雙方波特率等通信格式一樣才可以通信成功。可是在許多情況下,兩種不同格式比如不同波特率的串口也要相互通信,這就必須進行串口波特率等格式的轉換。本文介紹了如何實現串口波特率的轉換。
          如果串口設備1與串口設備2之間需要通信,但是它們之間的通信波特率不一樣。實現串口波特率的轉換的原理就是利用波特率轉換器的兩個串口,稱為串口A和串口B,分別設置為不同的波特率。串口A的波特率通過產品的J2J1J0來設置,串口B的波特率通過產品的K2K1K0來設置,見表格。其中串口A按照串口A設置的波特率接收串口設備1的數據并且立即從串口B按照串口B設置的波特率發送出去,同樣串口B以串口B設置波特率收到串口哦設備2的數據立即從串口A以串口A設置的波特率向串口設備1發送出去。
           
               RS-232波特率轉換器用于實現不同波特率的RS-232口的通信轉換,純硬件跳線設置,無需任何軟件設置。還可以與RS-232/485轉換器配合使用,可以實現RS-485的不同波特率之間的通信。串口波特率轉換器的外形為DB-9/DB-9轉接盒大小,如圖的產品左邊串口A為DB-9孔的RS-232口,右邊串口B為DB-9針的RS-232口,上邊為波特率設置的跳線,下面為5V電源接線端子。左邊DB-9孔可以直接外插計算機的RS-232口,右邊的DB-9針引腳分配同計算機的RS-232口,但是都只有RXD、TXD、GND三根線。
          波特率轉換器的兩邊的串口可以分別獨立設置波特率,見下表。0-斷開,1-短路。獨有波仕零延時自動收發轉換技術,確保適合所有格式的串口軟件包括16進制!
          串口A的波特率設置
           
          串口B的波特率設置
          J2
          J1
          J0
           波特率
          K2
          K1
           K0
           波特率
           0
           0
           0
           1200
           0
           0
           0
           1200
           0
           0
           1
           2400
           0
           0
           1
           2400
           0
           1
           0
           4800
           0
           1
           0
           4800
           0
           1
           1
           9600
           0
           1
           1
           9600
           1
           0
           0
          19200
           1
           0
           0
          19200
           1
           0
           1
          38400
           1
           0
           1
          38400
           1
           1
           0
          57600
           1
           1
           0
          57600
           1
           1
           1
          115200
           1
           1
           1
          115200
            
           
          波特率轉換器的內部有一個帶雙串口的單片機。單片機自動完成兩個串口之間的數據交換。單片機程序用C語言編寫,核心功能就是先將兩個串口UART1UART2根據跳線設置的狀態進行波特率等初始化設置,然后隨時將UART1接收的數據立即送到UART2的發送區、以及將UART2接收的數據立即送到UART1的發送區。核心代碼如下:
                         //串口1發送字符數組函數
                      void Uart1_Sendstr(uchar len,uchar stemp[])
                     {          uchar i=0;
                          for(i=0;i<len;i++)
                          {       TI=0;
                                 SBUF=stemp[i];
                                  while(TI==0);
                                 TI=0;       }      }
                      //串口2發送字符數組函數
                          void Uart2_Sendstr(uchar len,uchar s[])
                      {    uchar i=0;
                          while(len--)
                        {    Uart2_Senddat(s[i]);
                                i++;    }     }
                   //      ★★主函數★★★
          void main()
          {          uchar Uart1Set=0,Uart2Set=0;
           PortInit();   //按鍵端口初始化                 Uart1_Init();     //串口1初始化
           Uart2_Init();       //串口2初始化 
          Uart1Set=J2;         Uart1Set=(Uart1Set<<1)|J1;
           Uart1Set=(Uart1Set<<1)|J0; //讀取端口值              
           switch(Uart1Set)
           {       case 0x00:TH1=0xFF;TL1=0xFF;break;         //       115200
                      case 0x01:TH1=0xFE;TL1=0xFE;break;        //       57600
                      case 0x02:TH1=0xFD;TL1=0xFD;break;        //       38400
                      case 0x03:TH1=0xFA;TL1=0xFA;break;         //       19200
                      case 0x04:TH1=0xF4;TL1=0xF4;break; //       9600
                      case 0x05:TH1=0xE8;TL1=0xE8;break; //       4800
                      case 0x06:TH1=0xD0;TL1=0xD0;break;         //       2400
                      case 0x07:TH1=0xA0;TL1=0xA0;break;         //       1200
                      default:break;
           }
          本文介紹的串口波特率轉換的硬件方法和單片機代碼,對不同波特率之間的串口通信具有一定的使用價值。波特率轉換器的優點在于使用簡單方便,不足之處在于只能夠轉換波特率而沒有對數據位、停止位、校驗位進行轉換,而且對于不常見的波特率的轉換還需要定做。如果要實現功能全面的波特率等各種格式的全面轉換,還是要用計算機加上專門的波特率轉換軟件,通過對計算機的兩個串口進行波特率等格式的設置,而兩個串口在計算機內部進行數據透明傳輸。我們已經以另外文章《串口波特率轉換的純軟件實現》予以了介紹。

          本文地址:http://m.xznet110.com/apply/d_1nrutga2l25a2_1.html

          拷貝地址

          版權聲明:版權歸中國自動化網所有,轉載請注明出處!

          留言反饋
          • 評價:

          • 關于:

          • 聯系人:

          • 聯系電話:

          • 聯系郵箱:

          • 需求意向:

          • 驗證碼:

            看不清楚?

          主站蜘蛛池模板: 78成人精品电影在线播放| 国产一区二区三区视频| 中文字幕在线观看网站| 立川理惠在线播放一区| 国产毛片久久久久久国产毛片| 久久亚洲私人国产精品va| 美团外卖猛男男同38分钟| 国产精品久久香蕉免费播放| 一本大道香蕉久在线不卡视频| 最好看最新日本中文字幕| 亚洲精品线在线观看| 翁虹三级在线伦理电影| 国产成人黄色小说| 中文字幕在线高清| 欧美三级视频在线| 国产亚洲欧美精品久久久| 91久久另类重口变态| 性芭蕾k8经典| 久久图库99图库| 欧美白人最猛性xxxxx| 全黄性性激高免费视频| 触手强制h受孕本子里番| 国产精品一区二区香蕉| 99热这里只有精品免费播放| 成人黄色免费网址| 久久精品人成免费| 男生和女生一起差差差很痛视频| 国产剧情一区二区| 19岁rapper潮水第一集| 天天欲色成人综合网站| 丰满老熟妇好大bbbbb| 最新在线中文字幕| 亚洲日韩乱码久久久久久| 男女抽搐动态图| 国产欧美另类久久精品蜜芽| 99精品国产99久久久久久97| 日韩精品一区二区三区在线观看l| 亚洲男人的天堂在线播放| 福利视频免费看| 四虎影永久在线高清免费| 337p啪啪人体大胆|