一种控制485收发方向切换的方法、装置、设备及介质制造方法及图纸

技术编号:30407963 阅读:42 留言:0更新日期:2021-10-20 11:18
本申请公开了一种控制485收发方向切换的方法,包括接收收发方向切换的指令;根据指令,利用应用层中的管理函数调用串口的485配置函数;485配置函数在驱动层为串口注册完成;根据485配置函数,利用应用层中的电平参数处理函数控制串口的电平在发送数据起始时刻和接收数据结束时刻为第一电平,并控制串口的电平在发送数据结束时刻和接收数据起始时刻为第二电平;第一电平、第二电平为高电平、低电平中的一种,且第一电平、第二电平不同。由于485配置函数在驱动层中注册完成,在切换时可以精确估计系统延迟时间,使得收发状态可以及时完成切换,避免数据丢失,提升通信稳定性和可靠性。本申请还提供具有上述优点的装置、设备及介质。设备及介质。设备及介质。

【技术实现步骤摘要】
一种控制485收发方向切换的方法、装置、设备及介质


[0001]本申请涉及通信
,特别是涉及一种控制485收发方向切换的方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]485通讯属于半双工通讯,数据可以沿两个方向传送,但同一时刻一个信道只允许单方向传送,即收发过程不能同时进行。通常由CPU(Central Processing Unit,中央处理器)引出三根管脚,包括两个UART管脚(记作PIN_RX、PIN_TX)和一个485收发方向控制管脚(记作PIN_DIR),这三根管脚会接在板上的RS485芯片上,485芯片再向板外引出“D+、D
‑”
两根差分信号总线。当CPU基于Linux系统控制485芯片收发方向进行切换时,在物理上数据已传输完毕时,由于Linux系统自身存在延迟,导致数据发送或者接收完成后,收发方向不能及时切换,进而直接导致数据丢失,影响通信稳定性和可靠性。
[0003]因此,如何解决上述技问题应是本领域技术人员重点关注的。

技术实现思路

[0004]本申请的目的是提供一种控制485收发方向切换的方法、装置、设备及计算机可读存储介质,以及时切换收发方向,避免数据丢失。
[0005]为解决上述技术问题,本申请提供一种控制485收发方向切换的方法,包括:
[0006]接收收发方向切换的指令;
[0007]根据所述指令,利用应用层中的管理函数调用串口的485配置函数;所述485配置函数在驱动层为所述串口注册完成;
[0008]根据所述485配置函数,利用所述应用层中的电平参数处理函数控制所述串口的电平在发送数据起始时刻和接收数据结束时刻为第一电平,并控制所述串口的电平在发送数据结束时刻和接收数据起始时刻为第二电平;
[0009]其中,所述第一电平、所述第二电平为高电平、低电平中的一种,且所述第一电平、所述第二电平不同。
[0010]可选的,所述根据所述指令,利用应用层中的管理函数调用串口的485配置函数之前,还包括:
[0011]初始化所述串口;
[0012]判断所述串口是否使能485模式;
[0013]若所述串口使能485模式,则判断所述串口是否支持485模式;
[0014]若所述串口支持485模式,则进入根据所述指令,利用应用层中的管理函数调用串口的485配置函数的步骤。
[0015]可选的,所述利用应用层中的管理函数调用串口的485配置函数之前,还包括:
[0016]在所述应用层中打开所述串口。
[0017]可选的,控制所述串口的电平在发送数据结束时刻为第二电平,其中,所述第二电
平为低电平包括:
[0018]调用在所述应用层中已完成注册的中断处理函数;
[0019]根据所述中断处理函数,调用所述电平处理函数,以拉低所述串口的电平。
[0020]本申请还提供一种控制485收发方向切换的装置,包括:
[0021]接收模块,用于接收收发方向切换的指令;
[0022]第一调用模块,用于根据所述指令,利用应用层中的管理函数调用串口的485配置函数;所述485配置函数在驱动层为所述串口注册完成;
[0023]调整模块,用于根据所述485配置函数,利用所述应用层中的电平参数处理函数控制所述串口的电平在发送数据起始时刻和接收数据结束时刻为第一电平,并控制所述串口的电平在发送数据结束时刻和接收数据起始时刻为第二电平;
[0024]其中,所述第一电平、所述第二电平为高电平、低电平中的一种,且所述第一电平、所述第二电平不同。
[0025]可选的,还包括:
[0026]初始化模块,用于初始化所述串口;
[0027]第一判断模块,用于判断所述串口是否使能485模式;
[0028]第二判断模块,用于若所述串口使能485模式,则判断所述串口是否支持485模式;
[0029]转入模块,用于若所述串口支持485模式,则进入接收收发方向切换的指令的步骤。
[0030]可选的,还包括:
[0031]打开模块,用于在所述应用层中打开所述串口。
[0032]可选的,还包括:
[0033]第二调用模块,用于调用在所述应用层中已完成注册的中断处理函数;
[0034]第三调用模块,用于根据所述中断处理函数,调用所述电平处理函数,以拉低所述串口的电平。
[0035]本申请还提供一种控制485收发方向切换的设备,包括:
[0036]存储器,用于存储计算机程序;
[0037]处理器,用于执行所述计算机程序时实现上述任一种所述控制485收发方向切换的方法的步骤。
[0038]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述控制485收发方向切换的方法的步骤。
[0039]本申请所提供的一种控制485收发方向切换的方法,包括:接收收发方向切换的指令;根据所述指令,利用应用层中的管理函数调用串口的485配置函数;所述485配置函数在驱动层为所述串口注册完成;根据所述485配置函数,利用所述应用层中的电平参数处理函数控制所述串口的电平在发送数据起始时刻和接收数据结束时刻为第一电平,并控制所述串口的电平在发送数据结束时刻和接收数据起始时刻为第二电平;其中,所述第一电平、所述第二电平为高电平、低电平中的一种,且所述第一电平、所述第二电平不同。
[0040]可见,本申请中当需要进行收发方向切换时,通过应用层中的管理函数调用串口的485配置函数,进而根据485配置函数调用位于应用层中的电平参数处理函数,利用电平
参数处理函数调整串口在发送数据起始时刻和接收数据结束时刻为第一电平,在发送数据结束时刻和接收数据起始时刻为第二电平,第一电平和第二电平中一个为高电平,另一个为低电平,完成串口的接收和发送方向的切换,由于485配置函数在驱动层中注册完成,在切换时可以精确估计系统延迟时间,使得收发状态可以及时完成切换,避免数据丢失,提升通信稳定性和可靠性。
[0041]此外,本申请还提供一种具有上述优点的装置、设备及计算机可读存储介质。
附图说明
[0042]为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本申请实施例所提供的一种控制485收发方向切换的方法的流程图;
[0044]图2为本申请实施例所提供的另一种控制485收发方向切换的方法的流程图;
[0045]图3为本申请实施例提供的控制485收发方向切换装置的结构框图;
[0046]图4为本申请实施例所提供的控制485收发方向切换设备的结构框图。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种控制485收发方向切换的方法,其特征在于,包括:接收收发方向切换的指令;根据所述指令,利用应用层中的管理函数调用串口的485配置函数;所述485配置函数在驱动层为所述串口注册完成;根据所述485配置函数,利用所述应用层中的电平参数处理函数控制所述串口的电平在发送数据起始时刻和接收数据结束时刻为第一电平,并控制所述串口的电平在发送数据结束时刻和接收数据起始时刻为第二电平;其中,所述第一电平、所述第二电平为高电平、低电平中的一种,且所述第一电平、所述第二电平不同。2.如权利要求1所述的控制485收发方向切换的方法,其特征在于,所述根据所述指令,利用应用层中的管理函数调用串口的485配置函数之前,还包括:初始化所述串口;判断所述串口是否使能485模式;若所述串口使能485模式,则判断所述串口是否支持485模式;若所述串口支持485模式,则进入根据所述指令,利用应用层中的管理函数调用串口的485配置函数的步骤。3.如权利要求1所述的控制485收发方向切换的方法,其特征在于,所述利用应用层中的管理函数调用串口的485配置函数之前,还包括:在所述应用层中打开所述串口。4.如权利要求1至3任一项所述的控制485收发方向切换的方法,其特征在于,控制所述串口的电平在发送数据结束时刻为第二电平,其中,所述第二电平为低电平包括:调用在所述应用层中已完成注册的中断处理函数;根据所述中断处理函数,调用所述电平处理函数,以拉低所述串口的电平。5.一种控制485收发方向切换的装置,其特征在于,包括:接收模块,用于接收收发方向切换的指令;第一调用模块,用于根据所述指令,利用应用层中的管理函数调用串口...

【专利技术属性】
技术研发人员:张玉良江燕良徐富军张功
申请(专利权)人:河南牧原智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1