ahang_gz 发表于 2016-5-29 18:07:09

OK6410(linux)使用串口扩展板连接三个设备,Com3收发数据异常(乱码)

现在手上有三块OK6410开发板(最近买的,一个老项目需要用到,方案是Ok6410+linux+QT4.7.1),另有四块串口扩展板(两块是刚买的,另外两块是2011年前后购买的,用来控制三个串口设备)。无论怎么搭配测试都是一个结果:Com1和Com收发正常,Com3收发数据异常,且其调试信息显示为乱码。我发现论坛上早有一些人也遇到过同样的问题,请问大家是怎么解决的,求飞凌的技术人员给出解决方案,难道是Com3默认是用来485通信的?那为什么手册里没有提到过,如果默认配置为485,怎么改成支持232通信。

令我百思不解的是,我手上还有2011年前后购买的OK6410板子,与所有串口扩展板通信,所有串口都是正常的,为啥最近买的板子却发生这样的问题,我看了下电路原理图,基本一样,求证:是否Com3对应的驱动或者配置有所变化,请飞凌的技术人员给出解决办法。

急急急,这个问题困扰了快一周了,之前电话和飞凌的技术人员联系,当时也没给出针对的方法。

ahang_gz 发表于 2016-5-29 18:15:44

补充一点,最近买的板子(也是2016年五月买的)都用配套光盘的Linux内核和FS烧写好的,当然2011年前后买的板子,是用当时编译的内核FS烧写。

ahang_gz 发表于 2016-5-29 20:37:45

再补充一点:最近买的6410板子是2015年后产的,串口扩展板的com1和com2正常,com3工作异常。

ahang_gz 发表于 2016-5-31 19:02:23

目前排查到原因,排除了是6410开发板、串口扩展板和驱动的原因,应用程序是采用了QT4.7以及第三方的qextserialport串口类实现的,现在估计可能与linux3.0内核不兼容,但是linux2.6.36是没问题的。
现在有两个办法:
1、保留6410板子的linux3.0内核,串口类库改用QT官方的QserialPort;
2、新买的6410板子烧写linux2.6.36内核,但是试过烧写不了,请飞凌的技术人员给个方法。

AAAAA 发表于 2016-6-2 09:50:38

建议你用现在的内核,然后按照相关的方法修改一下程序移植到3.0内核的板子上。

ahang_gz 发表于 2016-6-14 10:13:00

AAAAA 发表于 2016-6-2 09:50
建议你用现在的内核,然后按照相关的方法修改一下程序移植到3.0内核的板子上。

我的应用程序是基于qt-4.7.1写的,是和编译平台版本有关系,和内核版本无关。同样的组件在前两个串口没问题,在第三个的串口就不行了。现在usb转串口也没响应,但是/dev/下面明明有 ttyUSB0

ahang_gz 发表于 2016-6-22 20:43:26

经过飞凌技术人员的帮助,确认是OK6410对COM3口默认配置为485,并提供给改回232的内核给我重新烧写开发板,现已经解决问题!
在此,感谢飞凌技术人员的同时,也借此建议飞凌文档要更加严谨,要对一些特殊的地方要有说明。
页: [1]
查看完整版本: OK6410(linux)使用串口扩展板连接三个设备,Com3收发数据异常(乱码)