标题: 求助:关于嵌入式linux编程2
play
游客




UID 14
精华 0
积分 4210
帖子 4210
威望 0
金钱 0
阅读权限 1
注册 2007-7-13
状态 离线
发表于 2007-7-13 18:32  资料  短消息  加为好友 

求助:关于嵌入式linux编程2

十分感谢回复!!      还有一个问题,那源程序是否需要改动。以下为源代码:  # include &;lt tdio.h>       # include &;lt tring.h>      # include <unistd.h>      # include <fcntl.h>       # include <errno.h>      # include <termios.h>       # include &;lt ys/types.h >    # include &;lt ys/stat.h>    # include &;lt tdlib.h>        // # define BAUDRATE b300  // # define BAUDRATE b9600  // # define BAUDRATE b57600        # define MODEMDEVICE "/dev/ttyS0"     # define  _POSIX_SOURCE  1      # define  FALSE  0  #define  TRUE  1      volatile int STOP=FALSE;      int  cnvbaudrate(char*  zbaudrate)    {  switch (atoi( zbaudrate))  {  case 50:         return B50;  case 75:         return B75;  case 110:         return B110;  case 134:         return B134;  case 150:          return B150;  case 200:         return B200;  case 300:         return B300;  case 600:         return B600;  case 1200:         return B1200;  case 1800:         return B1800;  case 2400:         return B2400;  case 4800:         return B4800;  case 9600:         return B9600;  case 19200:         return B19200;  case 38400:         return B38400;  case 57600:         return B57600;  default:         return B57600;  }  }    int main (int argc,char** argv)  {    int fd,c,res, ize=1024,allsize=0,BAUDRATE;    struct termios oldtio,newtio;  char szsendbuf [1024];       int filelength;  FILE * pfile;               struct stat st;  fd = open (MODEMDEVICE,O_RDWR|O_NOCTTY);   if (fd<0)  {       perror (MODEMDEVICE);       printf ("Error in open COM1/n");       exit (-1);  }    tcgetattr(fd,&;oldtio);     bzero( ewtio,sizeof(newtio));     /*串口新属性设置*/  //newtio.c_cflag = BAUDRATE |/* CRTSCTS | */ CS8;//  | CLOCAL | CREAD;  BAUDRATE=B57600;    //printf("argc= %d,argv[1]=%s\n",argc,grgv[1]);  if(argc >=2)      BAUDRATE = cnvbaudrate(argv[1]);        cfseti eed( ewtio,BAUDRATE);  cfseto eed( ewtio,BAUDRATE);      newtio.c_cflag|=CRTSCTS | CS8 | CLOCAL | CREAD;      newtio.c_iflag = IG AR | ICRNL;   //newtio.c_lflag = ICANO //|ECHO;      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;    newtio.c_cc[VMIN] = 1;     newtio.c_cc[VSWTC] = 0;  /*`\0`*/  newtio.c_cc[VSTART] = 0; /*Ctrl-q*/  newtio.c_cc[VSTOP] = 0;  /*Ctrl-s*/  newtio.c_cc[VSU ] = 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`*/      tcflush (fd,TCIFLUSH);  tcsetattr (fd,TCSANOW, ewtio);    stat ("test.bmp", t);   if ((pfile = fopen ("test.bmp","r"))==NULL)   {      printf ("Can`t find the file test.bmp!");      return  0;    }  filelength=st.st_size;      printf("file size :%d\n",filelength);   //write (fd,(char *)&;filelength,sizeof(int));  while ( ize==1024)    {     bzero(szsendbuf,1024);      ize=fread(szsendbuf,1,1024,pfile);      ize=write(fd,szsendbuf, ize);     allsize = ize;      if(! (allsize&;0x3fff))      printf("all_size:%dthis_time:%dtimes:%d\n",allsize, ize,allsize/1024);  }    fclose (pfile);     tcsetattr (fd,TCSANOW,&;oldtio);  close(fd);   }

顶部
[广告]
 


Google

当前时区 GMT+8, 现在时间是 2008-9-8 07:30
粤ICP备07500170号

By Discuz! 5.5.0 © 2007-2008
Processed in 0.043983 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - Autooo! Inc. - Archiver - 繁体中文