Rs232自适应rs485的数据发送方法及装置的制作方法

文档序号:6338482阅读:244来源:国知局
专利名称:Rs232自适应rs485的数据发送方法及装置的制作方法
技术领域
本发明属于计算机技术领域,尤其涉及一种RS232自适应RS485的数据发送方法
及装置。
背景技术
RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准,其全名是“数据终端设备(DTE) 和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。随着嵌入式应用的飞速发展,Linux串口通信得到了大规模的应用。目前计算机常用的串口通信方式包括RS232、 RS485以及RS422。由于RS485是半双工通信,在使用RS232串口与RS485进行通信的过程中,RS232串口通信程序不能自动地适应RS485的通信方式,需要手动或增加相应的硬件装置才能实现与RS485的正常通信,导致串口通信转换复杂、成本增加。

发明内容
本发明实施例的目的在于提供一种RS232自适应RS485的数据发送方法及装置, 旨在解决由于RS485是半双工通信,在使用RS232串口与RS485进行通信的过程中,RS232 串口通信程序不能自动地适应RS485的通信方式,需要手动或增加相应的硬件装置才能实现与RS485的正常通信,导致串口通信转换复杂、成本增加的问题。本发明实施例是这样实现的,一种RS232自适应RS485的数据发送方法,所述方法包括下述步骤当接收到发送数据请求的I/O请求包IRP时,将请求发送信号RTS设置为有效;将待发送数据发送给通过RS485接收数据的应用程序。本发明实施例的另一目的在于提供一种RS232自适应RS485的数据发送装置,所述装置包括RTS发送有效设置单元,用于当接收到发送数据请求的IRP时,将RTS设置为有效; 以及数据发送单元,用于将待发送数据发送给通过RS485接收数据的应用程序。本发明实施例的另一目的在于提供一种RS232自适应RS485的数据接收方法,所述方法包括下述步骤当接收到接收数据请求的IRP时,将RTS设置为有效;接收数据,所述数据来自使用RS485通信的应用程序。本发明实施例的另一目的在于提供一种RS232自适应RS485的数据接收装置,所述装置RTS接收有效设置单元,用于当接收到接收数据请求的IRP时,将RTS设置为有效; 以及数据接收单元,用于接收数据,所述数据来自使用RS485通信的应用程序。
本发明实施例的另一目的在于提供一种RS232自适应RS485的通信系统,所述系统包括RS232自适应RS485的数据发送装置和RS232自适应RS485的数据接收装置,其中RS232自适应RS485的数据发送装置,用于当接收到发送数据请求的IRP时,将 RTS设置为有效,将待发送数据发送给通过RS485接收数据的应用程序;以及RS232自适应RS485的数据接收装置,用于当接收到接收数据请求的IRP时,将 RTS设置为有效,接收数据,所述数据来自使用RS485通信的应用程序。本发明实施例在当接收到发送数据请求的IRP时,将RTS设置为有效,将待发送数据发送给通过RS485接收数据的应用程序,当接收到接收数据请求的IRP时,将RTS设置为有效,接收来自使用RS485通信的应用程序的数据,实现了串口 RS232与串口 RS485的有效通信,克服了 RS232不能自动地适应RS485半双工通信方式,需要手动或增加相应的硬件装置实现与RS485通信的问题,完成了 RS232到RS485通信方式的自动切换,使得RS232到 RS485的串口通信转换更加简单,成本更低。


图1是本发明第一实施例提供的RS232自适应RS485的数据发送方法的流程图;图2是本发明第二实施例提供的RS232自适应RS485的数据发送装置的结构图;图3是本发明第三实施例提供的RS232自适应RS485的数据接收方法的流程图;图4是本发明第四实施例提供的RS232自适应RS485的数据接收装置的结构图;图5是本发明第六实施例提供的RS232自适应RS485的通信实例图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例在当接收到发送数据请求的IRP时,将RTS设置为有效,将待发送数据发送给通过RS485接收数据的应用程序,当接收到接收数据请求的IRP时,将RTS设置为有效,接收来自使用RS485通信的应用程序的数据,实现了 RS232自适应RS485的通信方式,使得串口 RS232与串口 RS485能够有效的通信,从而使得RS232到RS485的串口通信转换更加简单,成本更低。本发明实施例提供了一种RS232自适应RS485的数据发送方法,所述方法包括下述步骤当接收到发送数据请求的I/O请求包IRP时,将请求发送信号RTS设置为有效;将待发送数据发送给通过RS485接收数据的应用程序。本发明实施例还提供了一种RS232自适应RS485的数据发送装置,所述装置包括 RTS发送有效设置单元,用于当接收到发送数据请求的IRP时,将RTS设置为有效; 以及数据发送单元,用于将待发送数据发送给通过RS485接收数据的应用程序。本发明实施例还提供了一种RS232自适应RS485的数据接收方法,所述方法包括下述步骤当接收到接收数据请求的IRP时,将RTS设置为有效;接收数据,所述数据来自使用RS485通信的应用程序。本发明实施例还提供了一种RS232自适应RS485的数据接收装置,所述装置RTS接收有效设置单元,用于当接收到接收数据请求的IRP时,将RTS设置为有效; 以及数据接收单元,用于接收数据,所述数据来自使用RS485通信的应用程序。本发明实施例还提供了一种RS232自适应RS485的通信系统,所述系统包括RS232 自适应RS485的数据发送装置和RS232自适应RS485的数据接收装置,其中
RS232自适应RS485的数据发送装置,用于当接收到发送数据请求的IRP时,将 RTS设置为有效,将待发送数据发送给通过RS485接收数据的应用程序;以及RS232自适应RS485的数据接收装置,用于当接收到接收数据请求的IRP时,将 RTS设置为有效,接收数据,所述数据来自使用RS485通信的应用程序。本发明实施例在当接收到发送数据请求的IRP时,将RTS设置为有效,将待发送数据发送给通过RS485接收数据的应用程序,当接收到接收数据请求的IRP时,将RTS设置为有效,接收来自使用RS485通信的应用程序的数据,实现了串口 RS232与串口 RS485的有效通信,克服了 RS232不能自动地适应RS485半双工通信方式,需要手动或增加相应的硬件装置实现与RS485通信的问题,实现了 RS232自适应RS485的通信方式,使得串口 RS232与串口 RS485能够有效的通信,从而使得RS232到RS485的串口通信转换更加简单,成本更低。以下结合具体实施例对本发明的具体实现进行详细描述实施例一在本发明实施例中,由于RS485为半双工通信方式,当应用程序使用RS232与使用 RS485的应用程序进行通信时,就必须使用RS485的通信方式进行通信,否则就会导致发送和接收过程中,数据的丢失或数据错误,在本发明实施例中,在接收到应用层应用程序的发送数据请求后,I/O管理器生成对应的I/O请求包(I/O Request I^cket,IRP),接收到IRP 后通过设置RS232的请求发送信号RTS(Request to knd),进行RS232数据发送的控制。图1示出了本发明第一实施例提供的RS232自适应RS485的数据发送方法的流程,详述如下在步骤SlOl中,当接收到发送数据请求的IRP时,将RTS设置为有效。在本发明实施例中,串口 RS232的RTS低电平有效,高电平无效,当接收到应用层应用程序的发送数据请求信息时,I/O管理器生成对应的IRP,接收到IRP后将RTS寄存器置为有效,使得RS232处于数据发送状态。在具体的实施过程中,可以采取中断的方式将 RTS设置为有效,即低电平状态,从而实时地切换RS232的状态。在步骤S102中,将待发送数据发送给通过RS485接收数据的应用程序。在本发明实施例中,根据应用程序之间确定的数据发送方和数据接收方,当RS232 的RTS被设置为有效后,使用RS232通信的应用程序将待发送数据发送给通过RS485接收数据的应用程序,从而实现与RS485的通信。在本发明实施例中,应用程序可以采用非阻塞通信方式来接收RS485发送过来的数据,比如通过调用select函数。当步骤S102中的数据发送完毕时,应将RTS置为无效,使得RS232进入空闲状态,在具体的实施过程中,由于数据的传送速度较快,可以采取中断的方式或其它内核函数将RTS设置为无效,具体设置方式在此不用以限制此发明。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 所述的存储介质可以是ROM/RAM、磁盘、光盘等。实施例二 图2示出了本发明第二实施例提供的RS232自适应RS485的数据发送装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。详述如下RTS发送有效设置单元21当接收到发送数据请求的IRP时,将RTS设置为有效;在本发明实施例中,串口 RS232的RTS低电平有效,高电平无效,当接收到应用层应用程序的发送数据请求信息时,I/O管理器生成对应的IRP,接收到IRP后将RTS寄存器置为有效,使得RS232处于数据发送状态。在具体的实施过程中,可以采取中断的方式将 RTS设置为有效,即低电平状态,从而实时地切换RS232的状态。数据发送单元22将待发送数据发送给通过RS485接收数据的应用程序;在本发明实施例中,根据应用程序之间确定的数据发送方和数据接收方,当RS232 的RTS被设置为有效后,使用RS232通信的应用程序将待发送数据发送给通过RS485接收数据的应用程序,从而实现与RS485的通信。RTS发送无效设置单元23当数据发送单元22数据发送完毕时,将RTS设置为无效。上述仅为本发明的系统实施例,其各单元的功能如上述方法实施例所述,在此不再赘述,但不用以限制本发明。实施例三图3示出了本发明第三实施例提供的RS232自适应RS485的数据接收方法的流程,详述如下在步骤S301中,当接收到接收数据请求的IRP时,将RTS设置为有效。在本发明实施例中,当接收到应用层应用程序的接收数据请求信息时,I/O管理器生成对应的接收数据请求的IRP,接收到IRP后将RTS寄存器置为有效,使得RS232处于数据接收状态。在具体的实施过程中,可以采取中断的方式将RTS设置为有效,即低电平状态,从而实时地切换RS232的状态。在步骤S302中,接收数据,该数据来自使用RS485通信的应用程序。在本发明实施例中,根据应用程序之间确定的数据发送方和数据接收方,当RS232 的RTS被设置为有效后,接收使用RS485通信的应用程序发送过来的数据。在本发明实施例中,当数据接收完毕时,应将RTS置为无效,使得RS232进入空闲状态,在具体的实施过程中,也可以采取中断的方式或其它内核函数将RTS设置为无效,具体设置方式在此不用以限制此发明。实施例四图4示出了本发明第四实施例提供的RS232自适应RS485的数据接收装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。详述如下RTS接收有效设置单元41当接收到接收数据请求的IRP时,将RTS设置为有效;
在本发明实施例中,当接收到应用层应用程序的接收数据请求信息时,I/O管理器生成对应的接收数据请求的IRP,接收到IRP后将RTS寄存器置为有效,使得RS232处于数据接收状态。在具体的实施过程中,可以采取中断的方式将RTS设置为有效,即低电平状态,从而实时地切换RS232的状态。数据接收单元42接收数据,该数据来自使用RS485通信的应用程序;在本发明实施例中,根据应用程序之间确定的数据发送方和数据接收方,当RS232 的RTS被设置为有效后,接收使用RS485通信的应用程序发送过来的数据。在本发明实施例中,当数据接收完毕时,应将RTS置为无效,使得RS232进入空闲状态,在具体的实施过程中,也可以采取中断的方式或其它内核函数将RTS设置为无效,具体设置方式在此不用以限制此发明。RTS接收无效设置单元43当数据接收单元42数据接收完毕时,将RTS设置为无效。实施例五在本发明实施例中,RS232自适应RS485的通信系统接收到数据发送、接收的IRP 请求后,通过对IRP进行处理,从而实现RS232自适应RS485的通信,该RS232自适应RS485 的通信系统包括RS232自适应RS485的数据发送装置和RS232自适应RS485的数据接收装置,其中RS232自适应RS485的数据发送装置,用于当接收到发送数据请求的IRP时,将 RTS设置为有效,将待发送数据发送给通过RS485接收数据的应用程序。在具体的实施过程中,RS232自适应RS485的数据发送装置的结构如图2所示,具体构成单元已在实施例二中描述,在此不再赘述。RS232自适应RS485的数据接收装置,用于当接收到接收数据请求的IRP时,将 RTS设置为有效,接收数据,该数据来自使用RS485通信的应用程序。在具体的实施过程中,RS232自适应RS485的数据接收装置的结构如图4所示,具体构成单元已在实施例四中描述,在此不再赘述。实施例六根据实施例一至五,图五示出了本发明第六实施例提供的RS232自适应RS485的通信实例,为了便于说明,仅示出了与本发明实施例相关的部分。详述如下在本发明实施例中示出了第一终端5和第二终端6的RS485通信过程,其中,第一终端5包括RS232通信方式的应用程序51、RS232驱动程序52以及RS232硬件通信控制器53。其中,RS232驱动程序52包括有RS232自适应RS485的通信系统521。当发送数据时,RS232通信方式的应用程序51的发送数据请求的IRP被发送到 RS232驱动程序52,为了实现与第二终端6的通信,RS232驱动程序52中RS232自适应 RS485的通信系统521的RS232自适应RS485的数据发送装置将RS232的RTS置为有效,切换到数据发送模式下,通过RS232硬件通信控制器53将数据发送给第二终端6。当接收数据时,第一终端5中RS232驱动程序52中RS232自适应RS485的通信系统521的RS232自适应RS485的数据接收装置将RS232的RTS设置为有效,切换到数据接收模式下,进而通过RS232硬件通信控制器53接收第二终端6发送过来的数据。在本发明实施例中,当接收到发送数据请求的IRP时,将RS232的RTS设置为有效,将待发送数据发送给通过RS485接收数据的应用程序,数据发送完毕后,采取中断的方式将RTS设置为无效,切换到空闲状态,当接收到接收数据请求的IRP时,将RTS设置为有效,接收来自使用RS485通信的应用程序数据,克服了 RS232不能自动地适应RS485半双工通信方式,需要手动或通过RS485硬件转换电路实现与RS485通信的问题,完成了 RS232到 RS485通信方式的自动切换,使得串口通信转换更加简单,成本更低,操作更加透明。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种RS232自适应RS485的数据发送方法,其特征在于,所述方法包括下述步骤 当接收到发送数据请求的I/O请求包IRP时,将请求发送信号RTS设置为有效; 将待发送数据发送给通过RS485接收数据的应用程序。
2.如权利要求1所述的方法,其特征在于,所述RS232的RTS低电平有效,高电平无效。
3.如权利要求1所述的方法,其特征在于,所述将待发送数据发送给通过RS485接收数据的应用程序的步骤之后,所述方法还包括下述步骤当数据发送完毕时,将RTS设置为无效。
4.如权利要求1或3所述的方法,其特征在于,采取中断的方式将RTS设置为有效或无效。
5.一种RS232自适应RS485的数据发送装置,其特征在于,所述装置包括RTS发送有效设置单元,用于当接收到发送数据请求的IRP时,将RTS设置为有效;以及数据发送单元,用于将待发送数据发送给通过RS485接收数据的应用程序。
6.如权利要求5所述的装置,其特征在于,所述装置还包括RTS发送无效设置单元,用于当所述数据发送单元数据发送完毕时,将RTS设置为无效。
7.—种RS232自适应RS485的数据接收方法,其特征在于,所述方法包括下述步骤 当接收到接收数据请求的IRP时,将RTS设置为有效;接收数据,所述数据来自使用RS485通信的应用程序。
8.如权利要求7所述的方法,其特征在于,所述接收数据,所述数据来自使用RS485通信的应用程序的步骤之后,所述方法还包括下述步骤当数据接收完毕时,将RTS设置为无效。
9.一种RS232自适应RS485的数据接收装置,其特征在于,所述装置包括RTS接收有效设置单元,用于当接收到接收数据请求的IRP时,将RTS设置为有效;以及数据接收单元,用于接收数据,所述数据来自使用RS485通信的应用程序。
10.一种RS232自适应RS485的通信系统,其特征在于,所述系统包括RS232自适应 RS485的数据发送装置和RS232自适应RS485的数据接收装置,其中RS232自适应RS485的数据发送装置,用于当接收到发送数据请求的IRP时,将RTS设置为有效,将待发送数据发送给通过RS485接收数据的应用程序;以及RS232自适应RS485的数据接收装置,用于当接收到接收数据请求的IRP时,将RTS设置为有效,接收数据,所述数据来自使用RS485通信的应用程序。
全文摘要
本发明适用于计算机技术领域,提供了一种RS232自适应RS485的数据发送方法及装置,方法包括当接收到发送数据请求的I/O请求包IRP时,将请求发送信号RTS设置为有效;将待发送数据发送给通过RS485接收数据的应用程序。本发明在接收到发送、接收数据的IRP请求时,通过将RS232的RTS设置为有效,与使用RS485通信的应用程序进行通信,实现了串口RS232到串口RS485的自适应,克服了RS232不能自动地适应RS485半双工通信方式,需手动或增加相应硬件来实现与RS485通信的问题,完成了RS232到RS485通信方式的自动切换,使得RS232到RS485的串口通信转换更加简单,成本更低。
文档编号G06F13/38GK102541786SQ20101058550
公开日2012年7月4日 申请日期2010年12月13日 优先权日2010年12月13日
发明者江武, 陈志列 申请人:研祥智能科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1