目前直接用串口连接还是没有办法,问题比较奇怪.
工控机一:
验证的工控机的问题,在ubuntu下使用串口助手(cutecom),2,3引脚短接,能够收发数据,且收发数据无任何问题!! 工控机厂家技术让检查串口引脚5是否接地? gps协议 c输出口 5引脚也是地线,那边讲没有问题.
转usb二:
(1)GPS信号串口转usb口接工控机,在串口助手下,显示10进制数据和gps协议能够完全对上没有问题,16进制数据显示正常没有乱码;
下面是10进制读出的数据:
(2)在ros框架下,读取数据正常,且能够正常发送gps数据解析后的话题,将解析后的话题发送给robot_localization包能够完成订阅!
直接串口 三:
(1)gps信号直接通过串口插在工控机上,通过串口助手读取,在十进制时,波特率调节到115200,230400,会出现奇怪的乱码,而且数据的长度不一(应该是存在数据丢失的现象);当我把波特率降低到9600时,数据仅仅是显示0xA1类似这种16进制数据;在16进制显示时,与通过转usb显示的数据内容格式一样!
下面是串口直接读取16进制
(2)在ros端,无论读取10进制还是16进制数据,终端显示时均为乱码,当我把波特率调到9600时,虽然显示乱码,但是通过ros命令能够打印出gps信息的前一部分信息,但是后面的信息经纬度,高度什么的都无法输出;把波特率调高后,ros命令打印无任何信息输出!