建立嵌入式系统和PC主机通信连接的方法与流程

文档序号:11154913阅读:511来源:国知局
建立嵌入式系统和PC主机通信连接的方法与制造工艺

本发明涉及嵌入式软件开发技术领域,尤其涉及一种建立嵌入式系统和PC主机通信连接的方法。



背景技术:

UART(Universal Asynchronous Receiver and Transmitter)是通用异步收发器的简称(异步串行通信口),是一种通用的数据通信协议,属于链路层的协议。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于速度慢的应用场合。异步通信以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,但在同一个字符中的邻位传送的时间间隔是固定的。数据传送的速率用波特率来表示,就是每秒传送的二进制位数。

在嵌入式系统开发过程中,经常需要用UART口来和PC主机通信,例如用串口作为嵌入式系统的控制终端,或者把嵌入式系统的调试信息通过串口输出到PC主机上,方便调试人员调试程序,或者通过串口来更新嵌入式系统的软件。在打开PC端的串口工具的时候,需要知道嵌入式系统端的UART的参数配置,如果双方的参数设置不一致,双方通信是不可能成功的。如果不是嵌入式系统的开发人员,可能不知道嵌入式系统UART参数的配置,如果尝试去配置这些参数,由于这些参数有许多种组合,可能需要很长的时间才能找到正确的配置,效率低下。有的嵌入式系统有几个相同的UART接口,只是用于不同的功能,不清楚到底要用哪个UART接口来和PC串口来连接通信。

因此,有必要提供一种新的建立嵌入式系统和PC主机通信连接的方法来解决上述问题。



技术实现要素:

本发明需要解决的技术问题是提供一种建立嵌入式系统和PC主机通信连接的方法,其不需要预先知道嵌入式系统端的UART接口参数配置就可以建立起嵌入式系统和PC主机两者间的通信连接。

本发明提供了一种建立嵌入式系统和PC主机通信连接的方法,包括如下步骤:

S1、初始化波特率和数据帧格式数组,用两个索引来分别表示所述波特率和所述数据帧格式;

S2、设置两个所述索引的索引值为0;

S3、用索引值为0所对应的所述波特率和所述数据帧格式的参数值初始化嵌入式系统的所有UART接口;

S4、接收从PC主机串口发送的特征数据;

S5、选择一个所述UART接口,判断选择的所述UART接口是否接收到所述特征数据,若否,则执行步骤S6;若是,则执行步骤S8;

S6、循环切换到下一个所述UART接口;

S7、循环检测切换到的所述UART接口是否收到特征数据,若否,则返回执行步骤S6;若是,则执行步骤S8;

S8、判断接收的所述特征数据是否是协议字节,若否,则执行步骤S9;若是,则通信建立成功;

S9、修改波特率和数据帧格式的参数值,并返回执行步骤S5。

优选的,所述数据帧格式包括数据位、奇偶校验位及停止位。

优选的,所述数据位的个数为5、6、7或8,所述奇偶校验位为没有或奇校验、偶校验、空,所述停止位是1位、1.5位、2位的高电平。

优选的,步骤S2中,所述索引指向所述数组的第一个单元。

优选的,步骤S4中,在接收从PC主机串口发送的特征数据之前还包括开启计时器。

优选的,步骤S5中,还包括判断所述计时器是否超时,若未超时,则执行步骤S6;若超时,则执行步骤S51;其中,若所述计时器超时,则包括如下步骤:

S51、将数据帧格式索引加1;

S52、判断数据帧格式索引是否达到最大值,若否,则执行步骤S521;若是,则执行步骤S522;

S521、用数据帧格式索引对应的索引值设置所有的所述UART接口,重置所述计时器,然后执行步骤S5;

S522、将波特率索引加1;

S523、判断波特率索引是否到最大值,若否,则执行步骤S5231;若是,则通信建立失败;

S5231、将数据帧格式索引的索引值重置为0;

S5232、用索引值为0对应的波特率和数据帧格式的参数值设置所有的所述UART接口,重置所述计时器,然后执行步骤S5。

优选的,步骤S8中,判断接收的所述特征数据是否是协议字节具体包括步骤:

S81、判断接收的特征数据是否是期待的同步字,若否,则执行步骤S82;若是,则执行步骤S83;

S82、判断是否是第一个同步字,若否,则执行步骤S5;若是,则执行步骤S85;

S83、返回回应字;

S84、判断协议字节是否全部接收,若否,则执行步骤S86;若是,则通信建立成功;

S85、返回回应字;

S86、重置所述计时器的时间,接收下个同步字。

优选的,步骤S9中,修改波特率和数据帧格式的参数值具体包括步骤:

S91、固定波特率,修改数据帧格式参数,直至所有的数据帧格式参数测试完毕;

S92、设置下一个波特率,重新修改数据帧格式参数,直至所有的数据帧格式参数测试完毕。

优选的,步骤S92中,数据帧格式从数组的第一个单元开始测试。

与相关技术相比,本发明提供的建立嵌入式系统和PC主机通信连接的方法具有如下有益效果:

1、能自动监测PC主机串口的波特率设置;

2、能自动监测PC主机串口的数据帧格式设置;

3、能检测是哪个UART接口和PC主机串口通信,而不需要事先知道嵌入式系统应用哪个UART接口来和PC串口通信;

4、使用计时器的机制,针对不同的参数值设置不同的超时时间值;

5、在打开PC主机串口和嵌入式系统的UART接口通信时,不需要知道嵌入式系统的UART接口的波特率配置和数据帧格式的设置。

附图说明

图1为本发明建立嵌入式系统和PC主机通信连接的方法的流程图;

图2为本发明建立嵌入式系统和PC主机通信连接的方法的步骤S5中若所述计时器超时的流程图;

图3为本发明建立嵌入式系统和PC主机通信连接的方法的步骤S8中判断接收的所述特征数据是否是协议字节的流程图;

图4为本发明建立嵌入式系统和PC主机通信连接的方法的步骤S9中修改波特率和数据帧格式的参数值的流程图;

图5为本发明建立嵌入式系统和PC主机通信连接的方法的原理图。

具体实施方式

下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,图1为本发明建立嵌入式系统和PC主机通信连接的方法的流程图。在嵌入式系统开发过程中,经常需要使用UART接口和PC主机通信,所述UART接口与所述PC主机的串口通信连接,不但需要波特率设置一样,数据帧格式同样需要设置一样,否则不能正常通信,因此,为了实现所述UART接口与所述PC主机的通信,本发明提供了一种建立嵌入式系统和PC主机通信连接的方法,包括如下步骤:

S1、初始化波特率和数据帧格式数组,用两个索引来分别表示所述波特率和所述数据帧格式;

所述数据帧格式包括数据位、奇偶校验位及停止位。所述数据位的个数为5、6、7或8,所述奇偶校验位为没有或奇校验、偶校验、空,所述停止位是1位、1.5位、2位的高电平。

S2、设置两个所述索引的索引值为0,所述索引指向所述数组的第一个单元;

S3、用索引值为0所对应的所述波特率和所述数据帧格式的参数值初始化嵌入式系统的所有UART接口;

S4、接收从PC主机串口发送的特征数据;

在接收从PC主机串口发送的特征数据之前还包括开启计时器。

S5、选择一个所述UART接口,判断选择的所述UART接口是否接收到所述特征数据,若否,则执行步骤S6;若是,则执行步骤S8;

再结合图2,图2为本发明建立嵌入式系统和PC主机通信连接的方法的步骤S5中所述计时器超时的流程图。在执行步骤S6之前还包括判断所述计时器是否超时,若未超时,则执行步骤S6;若超时,则执行步骤S51。若所述计时器超时,则包括如下步骤:

S51、将数据帧格式索引加1;

S52、判断数据帧格式索引是否达到最大值,若否,则执行步骤S521;若是,则执行步骤S522;

S521、用数据帧格式索引对应的索引值设置所有的所述UART接口,重置所述计时器,然后执行步骤S5;

S522、将波特率索引加1;

S523、判断波特率索引是否到最大值,若否,则执行步骤S5231;若是,则通信建立失败;

S5231、将数据帧格式索引的索引值重置为0;

S5232、用索引值为0对应的波特率和数据帧格式的参数值设置所有的所述UART接口,重置所述计时器,然后执行步骤S5。

S6、循环切换到下一个所述UART接口;

S7、循环检测切换到的所述UART接口是否收到特征数据,若否,则返回执行步骤S6;若是,则执行步骤S8;

S8、判断接收的所述特征数据是否是协议字节,若否,则执行步骤S9;若是,则通信建立成功;

再结合图3,图3为本发明建立嵌入式系统和PC主机通信连接的方法的步骤S8中判断接收的所述特征数据是否是协议字节的流程图。其中,判断接收的所述特征数据是否是协议字节具体包括如下步骤:

S81、判断接收的特征数据是否是期待的同步字,若否,则执行步骤S82;若是,则执行步骤S83;

S82、判断是否是第一个同步字,若否,则执行步骤S5;若是,则执行步骤S85;

S83、返回回应字;

S84、判断协议字节是否全部接收,若否,则执行步骤S86;若是,则通信建立成功;

S85、返回回应字;

S86、重置所述计时器的时间,接收下个同步字。

S9、修改波特率和数据帧格式的参数值,并返回执行步骤S5。

其中,所述同步字指的是特征数据中由所述PC主机发出并在嵌入式系统的所述UART接口被接收到的数据。所述回应字指的是嵌入式系统的所述UART接口接收到同步字后对所述PC主机的一种回应,表示已接收到数据。

再结合图4,图4为本发明建立嵌入式系统和PC主机通信连接的方法的步骤S9中修改波特率和数据帧格式的参数值的流程图。其中,修改波特率和数据帧格式的参数值具体包括步骤:

S91、固定波特率,修改数据帧格式参数,直至所有的数据帧格式参数测试完毕;

S92、设置下一个波特率,重新修改数据帧格式参数,直至所有的数据帧格式参数测试完毕;

数据帧格式从数组的第一个单元开始测试。

再一起参阅图5,图5为本发明建立嵌入式系统和PC主机通信连接的方法的原理图。本发明提供的了建立嵌入式系统和PC主机通信连接的方法的工作原理如下:首先需要初始化一个常用的波特率和数据帧格式的数组,并用两个索引来分别表示当前正在测试的波特率和数据帧格式。将两个索引的索引值初始化为0,指向数组的第一个单元。用索引值为0所对应的波特率和数据帧格式初始化嵌入式系统的所有的UART接口,开启计时器,准备接收从PC主机串口发送的特征数据。首先选择一个UART接口,并判断选择的该UART接口是否收到数据,如果没有收到数据,则判断所述计时器是否超时,若没有超时,就循环切换到下一个UART口,循环检测UART接口是否有收到数据;如果该选择的UART接口接收到数据,说明正在用该UART接口在通信,这样就可以检测出正在使用哪个UART接口在和PC主机串口通信。

如果UART口接收到数据,我们就要判断接收的数据是否是协议字节,如果不是协议字节,说明UART接口参数配置不正确,则需要修改波特率和数据帧格式的参数值,然后需要测试修改后的参数值,直到所有的协议字节都匹配完成,则通信参数匹配成功。如果所有的参数配置测试完毕,协议字节仍旧没有匹配成功,则通信参数匹配不成功。

在发明中,应用了计时器的机制,当修改UART接口的参数配置后,需要设置计时器的超时时间。并且对不同的UART接口参数配置,超时的时间值也是不一样的。利用计时器机制可以减少每次测试UART接口参数的时间。

与相关技术相比,本发明提供的建立嵌入式系统和PC主机通信连接的方法具有如下有益效果:

1、能自动监测PC主机串口的波特率设置;

2、能自动监测PC主机串口的数据帧格式设置;

3、能检测是哪个UART接口和PC主机串口通信,而不需要事先知道嵌入式系统应用哪个UART接口来和PC串口通信;

4、使用计时器的机制,针对不同的参数值设置不同的超时时间值;

5、在打开PC主机串口和嵌入式系统的UART接口通信时,不需要知道嵌入式系统的UART接口的波特率配置和数据帧格式的设置。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1