【原创】紧急求助-串口调试!
时间: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:
小弟现在正在调试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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28