天嵌 ARM开发社区

 找回密码
 注册
查看: 1467|回复: 1

tq2440串口通信问题咨询

[复制链接]
乌班图 发表于 2015-12-7 15:23:09 | 显示全部楼层 |阅读模式
你好,我想请教一下,我在做串口通信的时候用的是你们TQ2440的开发板 和串口驱动程序  Serial_Test  来做的
但是我发送数据的时候出现
void serial_rw()
{
        int i;
        char buff[512];
        //char buff2[] = "hello TQ2440!\n";
        unsigned char buff2[10];
        int nread,nwrite;
        buff2[0]= 0xB1;
        buff2[1]= 0x42;
        buff2[2]= 0x43;
        buff2[3]= 0x44;
        buff2[4]= 0x45;
        buff2[5]= 0x46;

        buff2[6]= 0xEF;    //  当高位0xeX 发出来的数据就成了 cX 即0xef变成0xcf   其它的又好像不会这样

        buff2[7]= 0xFF;    //  当高位0xfX  发出来的数据就成了  cX  即0xef变成0xcf

        nwrite = write(serial_fd,buff2,sizeof(buff2));
        printf("nwrite=%d\n",nwrite);
这是我用串口助手看的  我是在TQ2440的板子上  将空闲的 串口1外接出来的
我想是不是串口驱动程序有问题   我串口硬件通信都测试过了 都是正常的  
 楼主| 乌班图 发表于 2016-2-1 16:14:15 | 显示全部楼层
没有人回,最后还得靠自己,分享出来  让以后有遇到问题的朋友    也好有个参考

出现这个问题的原因  是天嵌配套的串口通信例程里面  options.c_oflag |= OPOST ;配置成加工后的输出 所以我的高位数据大于0xe0就会变掉   如果想输出我们要发送的数据的话  
只有将这句代码 改为 options.c_oflag &=~ OPOST 这样就可以选择原始数据输出了不会出现数据出错了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-6-11 10:18 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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