CubieBoard博客-HomeCubieTech公司网站

cubie.cc CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 2813|回复: 3

为什么我操作UART的驱动文件,写的时候串口软件里面没反应

[复制链接]

4

主题

0

好友

323

积分

中级会员

Rank: 3Rank: 3

贡献
70
金钱
98
威望
70
买家信用
卖家信用
积分
323
发表于 2016-4-20 15:34:09 |显示全部楼层
我在操作串口的时候,用系统提供的驱动,write()串口驱动文件的时候,PC端的串口软件为什么没反应呢,高手帮忙看看


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <errno.h>
#include <limits.h>
#include <string.h>

#include "uart_set.h"

#define DEV_NAME "/dev/ttySP0"

int main(int argc,char **argv)
{
        if(argc < 2){
                printf("Usage:program <r/s>\n");
                return -1;
        }
       
        char c;
        int fd_port,i=0,j=0;
        int return_value=0;
        int length_data=0;
        char buf[100];    //从串口读取/发送数据的buffer
        memset(buf,0,sizeof(buf));
       
        c = *argv[1];
        switch(c)
        {
                case 'r':
                {
                        //打开串口0
                        fd_port = open(DEV_NAME,O_RDWR);
                        if(-1 == fd_port)
                        {
                          exit(1);
                  }
               

                        //串口,波特率,数据位,奇偶校验,停止位
                        return_value = set_Baudrate(fd_port,115200,8,'N',1);
                        if(-1 == return_value)
                        {
                          exit(1);
                        }

                        //接收串口0的数据
                         while(1)
                        {
                          length_data = read(fd_port,buf,1);  //数据的发送使用write(fd_port,buf,1); buf为要发送的字符串
                          if(-1 == length_data)
                          {
                                   exit(1);
                          }

                          if(0 > analysis_data(buf))
                           return -1;

                          memset(buf,0,100);
                        }

                        close(fd_port);
                        break;
                }
               
                case 's':
                default:
                {
                        if(argc < 3)
                        {
                                printf("Usage:program <s> <data>\n");
                                return -1;
                        }
                        fd_port = open(DEV_NAME,O_RDWR);
                        if(-1 == fd_port)
                        {
                          exit(1);
                        }

                        //串口,波特率,数据位,奇偶校验,停止位
                        return_value = set_Baudrate(fd_port,115200,8,'N',1);
                        if(-1 == return_value)
                        {
                          exit(1);
                        }

                        //向串口0发送数据
                        strcpy(buf,argv[2]);
                        while(1)
                        {
                          length_data = write(fd_port,buf,1);  //数据的发送使用write(fd_port,buf,1); buf为要发送的字符串
                          if(-1 == length_data)
                          {
                                   exit(1);
                          }

                          if(0 > analysis_data(buf))
                           return -1;
                           //发送完的字符从buf中去除
                   memset(buf,0,100);
                       
                       
                        }
                       
                        close(fd_port);
                       
                         break;
                }/* case 's' 结束*/
               
        }/* switch() 结束*/
       
        return 0;
}

回复

使用道具 举报

113

主题

1

好友

1万

积分

版主

Rank: 7Rank: 7Rank: 7

贡献
2417
金钱
5611
威望
2417
买家信用
卖家信用
积分
13314
发表于 2016-4-21 10:40:16 |显示全部楼层
PC端的驱动装了没有?
回复

使用道具 举报

74

主题

5

好友

2万

积分

超级版主

Rank: 8Rank: 8

贡献
3698
金钱
8497
威望
3706
买家信用
卖家信用
积分
20290
发表于 2016-4-21 11:04:01 |显示全部楼层
回复

使用道具 举报

1

主题

0

好友

197

积分

禁止发言

贡献
43
金钱
57
威望
43
买家信用
卖家信用
积分
197
发表于 2016-7-26 11:08:01 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|邮件群发|cubie.cc---深刻的嵌入式技术和应用讨论中文社区 ( 粤ICP备13051116号-1  

GMT+8, 2019-9-15 22:49 , Processed in 0.022538 second(s), 8 queries , Apc On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc. | Style by Coxxs

回顶部