+ -
当前位置:首页 → 问答吧 → 【原创】紧急求助-串口调试!

【原创】紧急求助-串口调试!

时间:2006-04-20

来源:互联网

:confused: 各位大侠:
  小弟现在正在调试S3C2410上的串口,遇到一些问题,搞了几天还是没搞明白,现在请各位帮帮忙,我的问题如下:
  (1)串口写程序如下:
int main(int argc, char **argv)
{
int fd;
int nwrite;
char buff[]="nihao,nishishui?\r\n";
char *dev = "/dev/ttyS2"; //串口二
fd = OpenDev(dev);
set_speed(fd,19200);
if (set_Parity(fd,8,1,'N') == FALSE) {
printf("Set Parity Errorn");
exit (0);
}
nwrite=write(fd,buff,sizeof(buff));
//close(fd);
//exit(0);
}
可是用一个串口工具读出来的是"o,nishishui",总是少前3个字符,我是在linux系统中用交叉编译环境编译之后在目标板上运行的,然后再用串口工具读的数据,可就是搞不明白错在哪里,请各位大侠帮忙指正一下!
  (2)串口的读程序如下:
int main(int argc, char **argv)
{  
      int fd;  int nread;  char buff[1024];  
      char *dev  = "/dev/ttyS2"; //串口三  
     fd = OpenDev(dev);  
     set_speed(fd,19200);  
     if (set_Parity(fd,8,1,'N') == FALSE)
       {
        printf("Set Parity Errorn");
        exit (0);
       }
     
    while (1) //循环读取数据
      {      while((nread = read(fd, buff, 1024))>0)  
                 {   // printf("\nLen %d\n",nread);
   
                                buff[nread] = '\0';      
                                printf( "\n%s", buff);     
                 }
      }  
   //close(fd);   
   // exit (0);
}
我用串口工具发送数据的时候,在目标板上接收,总是出现一个问题,就是每次发送的数据总是在目标板上读不出来,或者就是每次发送的数据能读出一部分来,但是最后的8位读不出来,总得下次再发数据的时候,才能把上次剩余的8位数据读出来,请为这是什么原因?
 (3)就是做嵌入式开发的时候,如何对做的应用程序进行单步跟踪运行,以及如何查看程序在内存中的情况,用什么工具能够实现?我用GDB在linux系统下怎么实现目标板上程序的跟踪?请各位大侠提供点资料!我的EMAIL是:[email="[email protected]"][email protected][/email]
  谢谢大家,请大家多多指教!俺是一个刚刚进入嵌入式开发的一个小小菜鸟,请大家多多关心!呵呵!:cool:      

作者: peipei101   发布时间: 2006-04-20

各位大哥,帮帮忙啊,实在是着急呢,头下达命令了,到下周2完成串口调试,我还是没有眉目呢,请知道一下啊!      

作者: peipei101   发布时间: 2006-04-21