易截截图软件、单文件、免安装、纯绿色、仅160KB

linux下多串口卡接收数据不全

同样的程序,我用主板上自带的串口,能够读取几十个字节,而用多串口卡上的串口,不能都读取到,在读取的时候最多只能读14个字节,余下的字节没有接收到,而且在显示的时候,先显示两个字节,然后每次显示3个字节,直到13个字节都显示完。
比如我在发送的计算机的串口调试助手上发送(十六进制):11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF

在接收端,如果用串口卡上的串口,则会如下显示
11 22
33 44 55
66 77 88
99 AA BB
CC DD EE

然后我在linux里面再编程序将收到的数据发送给串口,刚才的串口调试助手接收,其只能收到13个字节,也就是只能显示
11 22 33 44 55 66 77 88 99 AA BB CC DD

我如果直接用主板上自带的串口,做上面的过程,接收与发送都完全正确,没有丢失字节的现象,请高手帮忙分析啊。


串口卡芯片使用的是16554,有16字节的FIFO缓存,内建硬件控制流量。波特率等设置都没有问题。串口卡上的中断我用的是15,采用共享中断方式,一共有4个串口,但是现在我只用了一个,其他都没用。
自己顶
在程序中我将VMIN标志设为20,但是每次上位机发送一些数据,我的串口都会丢失一些数据,好像是数据没有读取出来,而是在缓冲里面了,只有等到20个字节够了,才一次性read出来。

怎么才能把上位机一次发送的内容全读出来呢?


不是坏了,经过分析,可能是和串口控制芯片有关,串口卡的芯片可能工作机制有不同
按理说,机器自带的串口收发没有问题,只有串口卡上的串口,每次好像都读不全


相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

Linux 目录问题

Linux新手,请大哥大姐不要见笑。

我用root用户登录到Linux系统。在根目录下面建了目录dir1,后用命令cd /dir1进入到dir1目录下,然后再用mkdir dir2建立了目录dir2 ,再后来用命令cd /dir2是,提示为:-bush ......

Linux Socket HTTP请求的问题,高手进!

小弟最近需要一个用socket获取html文档的代码,但是老是不能获取完整的html源码。原因不明,望高手指点!
C/C++ code:

char *Http_GET(char *host,int port,char *data) //发送GET请求
{
char response[2 ......

有关linux安装脚本kickstart的编写

我之前制作的linux自动安装iso已经成功了,现在想对其进行一些定制修改,比如,更改grub图片等。
我在ks.cfg的%post段里面是这样写的:
%post --nochroot
# Move the contents of the tar into their new locati ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号