Chinaunix首页 | 论坛 | 博客
  • 博客访问: 277748
  • 博文数量: 58
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-27 08:37
个人简介

从linux了解世界

文章分类
文章存档

2017年(5)

2016年(51)

2015年(2)

我的朋友

分类: 嵌入式

2016-03-31 19:52:43

int main()
{
    char sendval,recval;
    int fd,sendfg,recfg;
    struct termios opt;//和串口各种配置信息有关的结构体termios
    fd = open( "/dev/ttySAC1", O_NOCTTY|O_RDWR);//读写方式打开mini2440的串口1,并且不当做控制台
    if (-1 == fd){
        perror("open error:");
        return -1;
    }
    tcgetattr(fd,&opt);//取得串口1的配置信息结构体
    cfmakeraw(&opt);//将该结构体设置为原始模式,也就是只用来收发数据,具体把termios怎么配置可以查看相关资料
    cfsetispeed(&opt,B115200);//设置输入波特率
    cfsetospeed(&opt,B115200);//设置输出波特率
    tcsetattr(fd,TCSANOW,&opt);//立即使配置信息结构体在串口1生效
    sendval='a';
    tcflush(fd, TCIOFLUSH);//清空输入输出缓存
    sendfg=write(fd,&sendval,1);
    printf("send ready\n");
    if(sendfg==-1)
    {
        perror("send error:");
        return -1;
    }
    recfg=read(fd,&recval,1);
        if(recfg==-1)
        {
                perror("receive error:");
                return -1;
        }
    printf("receive value:%c\n",recval);//将uart收发引脚相连,自发自收
    close(fd);
    return 0;
}

阅读(1797) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~