• 易迪拓培训,专注于微波、射频、天线设计工程师的培养

***

录入:edatop.com     点击:

2)握手信号控制。

该函数引入递归调用的方式,很好的解决了以往串口通信过程中,在握手信号方面选择发送指定特定字符(例如"样")所带来的误传送问题,大大提高了串口通信的成功率。

void wait(char ch)

{

if(ReceiveChar(COM232)==ch)return;//确定对方已经成功接受或者发送,就返回空

else

{

SendChar(ch);//把接受或者发送出去的字符重新发送;

wait(ch); //递归调用,直到对方确定接受或者发送成功为止;

3)向串行口发送一个字符

该函数的思想是先申请占有中断,后进行发送数据通信;

int SendChar(unsigned char Char)

{

do

{

printf("send waiting>>>>>>>>> "):

//在屏幕上提示用户正在等待中断进行。

}while((inportb(comportaddr+5)&0x20)==O);//检查发送端数据线是否准备好

outportb(comportaddr,Char://发送数据到缓冲区

return(Char);//返回发送完成的字符

}

4)从串行口接受一个字符

该函数的思想是先取得中断控制,后面进行接收数据通信;

int ReceiveChar(int port)

{

do{

printf("receive waiting>>>>>>>> ");

∥在屏幕上提示用户正在等待中断进行。

}

while((inportb(eomportaddr+5)&0x01)==0);//检查接收端数据线是否准备好

return(inportb(pONt);//从接收数据缓冲区取数据

}

3 实例

在企业产品测试平台和嵌入式控制系统之间,约定通信双方的协议相同,首先嵌入式EMB主控机通过串El把控制消息发送给产品测试平台,让产品测试平台根据发送来的指令进行相关操作:同时在产品测试平台上的测试结果信息,测试每个单项目的相关信息也通过串口传输数据到嵌入式EMB主控机;嵌入式EMB主控机把测试相关的有效信息进行整理后,通过网络上传到Server,Server把企业所有生产线的嵌入式EMB主控机发送来的信息进行整理和分析,在企业资源管理系统ERP上共享,让企业的高级管理人员实时监视企业生产的进行情况,大大提高企业的办公效率,其整体工作原理图如图3所示。

图3企业生产整体工作原理图

4 结论

本文所阐述的RS232串口通信软件,在具体实践中结合功能需要,综合考虑复杂程度、灵活性等因素,选择了合适的方法,实现了串口通信过程,同时在产品测试平台和嵌入式控制系统之间,该软件得到了充分的应用,有效地提升了企业的生产工作效率。

作者:葛磊蛟 毛一之 李歧 高婧嫱 来源:《河北工业大学学报》

我推荐大家读

轻松参与

VS

表达立场

这是垃圾文章

本文导航

上一篇:爱立信:专注用户体验 打造多网协同
下一篇:一种改进型UML在嵌入式系统中的应用

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图