天嵌 ARM开发社区

 找回密码
 注册
查看: 2744|回复: 5

【求助】TQ2440 往串口里发送数据不完整,是否因为缓冲区大小限制?

[复制链接]
fanyundemuzi 发表于 2013-3-3 17:18:54 | 显示全部楼层 |阅读模式
本帖最后由 fanyundemuzi 于 2013-3-3 17:39 编辑

fd = open("/dev/tq2440_serial1", O_RDWR|O_NOCTTY|O_NDELAY    //TQ2440开发板+TTL串口拓展模块

串口初始化:
        struct termios options;
        tcgetattr(fd, &options);             //得到当前串口参数
        options.c_cflag |= (CLOCAL | CREAD); //使能接收、使能本地状态
        options.c_cflag &= ~CRTSCTS;         //取消硬件流控制
        options.c_cflag &= ~CSIZE;           //设置字符大小
        options.c_cflag |= CS8;              //数据为8位
        options.c_cflag &= ~CSTOPB;          //一个停止位
        options.c_cflag |= IGNPAR;           //忽略奇偶校验错误
        options.c_oflag = 0;                 //指定终端控制信息
        options.c_lflag = 0;                 //本地模式设置


        cfsetispeed(&options, B9600);        //设置输入波特率为9600
        cfsetospeed(&options, B9600);        //设置输出波特率为9600
        tcsetattr(fd, TCSANOW, &options);    //激活新配置



往串口里写入数据:
unsigned char temp[LEN];                           //假设temp[]大于4160的数组
nwrite = write(fd, temp, sizeof(temp));     //往串口里面写入temp[]数据
printf ("nwrite:%d\n");                  //为什么输出始终都是显示“nwrite:4160”,如果temp[]数组的长度3160(小于4160),nwrite就显示3160(显示正常)
是不是因为tq2440_serial1驱动问题,限制了缓冲区的大小?具体怎么改?怎么解决?
 楼主| fanyundemuzi 发表于 2013-3-3 23:53:29 | 显示全部楼层
请问具体如何设置串口发送/接收的缓冲区大小??
TQ-lkp 发表于 2013-3-4 14:32:36 | 显示全部楼层
经测试过5000的都可以发,你试下我们提供的串口测试程序,在天嵌资料发布区
 楼主| fanyundemuzi 发表于 2013-3-4 16:36:32 | 显示全部楼层
TQ-lkp 发表于 2013-3-4 14:32
经测试过5000的都可以发,你试下我们提供的串口测试程序,在天嵌资料发布区

我的直接用write(),就算5000可以,我现在需要发10多K,要怎么设置底层的串口缓冲区大小呢
TQ-lkp 发表于 2013-3-4 17:23:24 | 显示全部楼层
fanyundemuzi 发表于 2013-3-4 16:36
我的直接用write(),就算5000可以,我现在需要发10多K,要怎么设置底层的串口缓冲区大小呢

太大的文件建议不要一次发送,分多次发送
 楼主| fanyundemuzi 发表于 2013-3-4 19:03:45 | 显示全部楼层
TQ-lkp 发表于 2013-3-4 17:23
太大的文件建议不要一次发送,分多次发送

请问:要怎么设置底层的串口缓冲区大小???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-28 18:49 , Processed in 1.046875 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表