登录

行业资讯

串口波特率转换的实现

串口波特率转换的实现

                    武汉波仕电子有限公司 ___向媛

串口通信,就是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转接盒大小,如图的产品左边串口ADB-9孔的RS-232口,右边串口BDB-9针的RS-232口,上边为波特率设置的跳线,下面为5V电源接线端子。左边DB-9孔可以直接外插计算机的RS-232口,右边的DB-9针引脚分配同计算机的RS-232口,但是都只有RXDTXDGND三根线。

波特率转换器的两边的串口可以分别独立设置波特率,见下表。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;

}

本文介绍的串口波特率转换的硬件方法和单片机代码,对不同波特率之间的串口通信具有一定的使用价值。波特率转换器的优点在于使用简单方便,不足之处在于只能够转换波特率而没有对数据位、停止位、校验位进行转换,而且对于不常见的波特率的转换还需要定做。如果要实现功能全面的波特率等各种格式的全面转换,还是要用计算机加上专门的波特率转换软件,通过对计算机的两个串口进行波特率等格式的设置,而两个串口在计算机内部进行数据透明传输。我们已经以另外文章《串口波特率转换的纯软件实现》予以了介绍。

详细参数请到www.查看。咨询订购电话:027-59708940/51518046  15102729700向小姐 QQ咨询订购:2360190989    MSN:bosicomcn@live.cn

 


武汉波仕卡科技有限公司专注于串口转换器模块,集线器,光电隔离器等

免责声明: 八方资源网为互联网信息服务提供者,所有的信息均有发布者提供,如您发现信息有违规/侵权,请立即投诉举报

相关资讯

查看更多
资讯分类
商务服务 污水处理 机械 传媒 机床 五金 农业 工程机械 焊接切割 泵阀 热泵 农机 汽车 汽车用品 汽配 汽修 通信 电子 暖通空调 电气 广电 印刷 纸业 丝印特印 灯饰 安防 消防 过滤 耐火材料 环保 LED 添加剂 食品机械 仪器仪表 太阳能 包装 水工业 加工 二手设备 工艺礼品 古玩 服装 美容美发 服饰 制鞋 家电 家具 运动休闲 影音 酒店 家居 办公 音响灯光 农化 水果 养殖 皮具 教育装备 玩具 零食 食品 二手 IT 建材 小家电 卫浴 陶瓷 超硬材料 化工 橡胶 塑料 钢铁 表面处理 冶金 石油 能源 纺织 房地产 皮革 涂料 石材 创业 项目 生活服务 教育 船舶 维修 广告 交通运输 医疗 代理 物流 图片 展会 咨询 库存积压
八方资源网 资讯