linux 串口读写权限,linux下串口编程(读写)解决方法

当前位置:我的异常网» Linux/Unix » linux下串口编程(读写)解决方法

linux下串口编程(读写)解决方法

www.myexceptions.net  网友分享于:2013-02-05  浏览:63次

linux下串口编程(读写)

以下是我在linux终端下写的C代码,目的是想让其能接受到串口的数据,可是不知道为什么总是不能接受到,也没有报错信息,请大侠们看看,帮帮忙指点以下,谢谢!

#include  

#include  

#include  

#include  

#include  

#define   BAUDRATE   B38400

#define   MODEMDEVICE   "/dev/ttyS0 "

//#define   _POSIX_SOURCE   1   /*   POSIX   compliant   source   */

#define   FALSE   0

#define   TRUE   1

volatile   int   STOP=FALSE;

main()

{

int   fd,c,   res;

struct   termios   oldtio,newtio;

char   buf[255];

fd   =   open(MODEMDEVICE,   O_RDWR   |   O_NOCTTY   );

if   (fd   <0)   {perror(MODEMDEVICE);   exit(-1);   }

tcgetattr(fd,&oldtio);

bzero(&newtio,   sizeof(newtio));

newtio.c_cflag   =   BAUDRATE   |   CRTSCTS   |   CS8   |   CLOCAL   |   CREAD;

newtio.c_iflag   =   IGNPAR   |   ICRNL;

newtio.c_oflag   =   0;

newtio.c_lflag   =   ICANON;

newtio.c_cc[VINTR]         =   0;           /*   Ctrl-c   */

newtio.c_cc[VQUIT]         =   0;           /*   Ctrl-\   */

newtio.c_cc[VERASE]       =   0;           /*   del   */

newtio.c_cc[VKILL]         =   0;           /*   @   */

newtio.c_cc[VEOF]           =   4;           /*   Ctrl-d   */

newtio.c_cc[VTIME]         =   0;           /*   inter-character   timer   unused   */

newtio.c_cc[VMIN]           =   1;           /*   blocking   read   until   1   character   arrives   */

newtio.c_cc[VSWTC]         =   0;           /*   '\0 '   */

newtio.c_cc[VSTART]       =   0;           /*   Ctrl-q   */

newtio.c_cc[VSTOP]         =   0;           /*   Ctrl-s   */

newtio.c_cc[VSUSP]         =   0;           /*   Ctrl-z   */

newtio.c_cc[VEOL]           =   0;           /*   '\0 '   */

newtio.c_cc[VREPRINT]   =   0;           /*   Ctrl-r   */

newtio.c_cc[VDISCARD]   =   0;           /*   Ctrl-u   */

newtio.c_cc[VWERASE]     =   0;           /*   Ctrl-w   */

newtio.c_cc[VLNEXT]       =   0;           /*   Ctrl-v   */

newtio.c_cc[VEOL2]         =   0;           /*   '\0 '   */

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值