wang_qiao_ying 发表于 2013-08-08 16:45

串口读取为什么只返回8个字节??


      大家好, 我用read读串口的时候,为什么总是每次只返回8个字节,我测试在另一端write20个字节, read返回了3次 (8,8,4)
我想每次read的时候返回指定的字节数,请问需要什么设置吗,请高人指点一下,谢谢了!!

wang_qiao_ying 发表于 2013-08-08 17:09

:-L   没有人知道吗

djsxut 发表于 2013-08-09 11:12

本帖最后由 djsxut 于 2013-08-09 11:17 编辑

是不是驱动的问题?读串口代码是什么?

linux_c_py_php 发表于 2013-08-11 10:47

read/write串口会保证一直阻塞到全部读出或者写出吗,至少管道不是这样的。

Mr木子丶Q 发表于 2013-08-12 15:41

你的read(sock_id, str, max_len)第三个参数是不是设置为8了

wang_qiao_ying 发表于 2013-08-12 16:08

没啊, 我指定512 呢,read(sock_id, buf,512)

Mr木子丶Q 发表于 2013-08-12 16:44

回复 6# wang_qiao_ying


    额..,那我没遇到过,不好意思啊

stevenzsjcyzz 发表于 2013-09-10 17:54

回复 1# wang_qiao_ying


   
        termios_new.c_cc= 1;                        //
        termios_new.c_cc = 0;                        //

看看是不是这里设置的问题

myworkstation 发表于 2013-09-10 19:08

回复 1# wang_qiao_ying


    你用的什么模式呢?这个和串口设备的缓冲有关,常见的缓冲大小是8bytes,如果以raw mode方式来读的话应该是一次只能读取8bytes这个结果,如果使用ICANON模式的话应该会多一些,但和超时时间等参数设置还是相关的。
页: [1]
查看完整版本: 串口读取为什么只返回8个字节??