最近遇到的一系列问题

最近做项目,遇到了一系列意想不到的问题,虽然到现在问题还没有彻底解决,但还是记录下这段时间的过程。

一开始是的任务是用嵌入式电脑控制一个IO设备,能正常想输出写数据,也能正常读出输入的数据,这个很快就实现了,只要在linux里调用一些该IO设备提供的函数库就行了。可是调试一段时间后,突然被告知需要用一个串口服务器来控制这个IO设备,该串口服务器是基于ARM的嵌入式系统,需要在我的PC里将程序交叉编译后传到该串口服务器中来控制IO设备,可是在交叉编译时出现了一些问题,怎么都编译不通过,折磨了我一天后终于发现,问题是对方提供的静态库不是通过交叉编译产生的,我需要一个交叉编译后的库,只能向对方要交叉编译库,对方很快就 提供了交叉编译后的库,但编译还是通不过,一些函数显示未定义,太不科学了,我调用的都是该设备的库函数,怎么会没有呢,在纠结了两天后,终于发现对方提供的这个交叉编译后的库不支持我的这个IO设备,在说明里,有一系列的IO设备,可唯独就我使用的这款IO设备不支持,没办法,又得问对方反馈,可是对方回复暂时只有这个库,无法提供支持我这款IO设备的库,这也就宣告我无法用对方提供的库函数了,还好这款设备支持modbus_RTU协议,就用modbus重新写程序吧,等我写好后,调试过程中又出现了新问题,对DO口的读写就是正常,地址正确,结果正确,但对DI口的读怎么都得不到正确的结果,现在还在纠结中,希望这两天能搞对。

2014-08-08 21:00补充:

刚写好博客,就得到了对方公司的反馈,原来是我一直理解有误,DI口对应的是input register,不是input coil(了解modbus的应该知道这是什么意思),好吧,改变策略后立马就读对了。

看看这个过程真实太纠结了,其实过称远比我写的这么复杂,简单记录了这个过程。学到的知识可是不少。交叉编译,静态库,动态库,modbus……

你可能感兴趣的:(linux)