天嵌 ARM开发社区

 找回密码
 注册
查看: 3959|回复: 23

做serial_test的时候串口接收不到数据

[复制链接]
xiaomingguo198 发表于 2013-5-8 18:37:20 | 显示全部楼层 |阅读模式
我用的是TQ2440配套的扩展串口~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| xiaomingguo198 发表于 2013-5-8 19:17:02 | 显示全部楼层
我用扩展口就是想让他显示呀!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 1 0

使用道具 举报

邢勇 发表于 2013-5-8 18:53:43 | 显示全部楼层
我也遇到了这个问题。你用扩展串口也能登陆控制台看到板子的运行情况吗?tq2440板子的原始的那个串口对应的设备文件应该是tq2440_serial0吧
回复

使用道具 举报

 楼主| xiaomingguo198 发表于 2013-5-8 18:57:30 | 显示全部楼层
原始的控制台应该是tq2440_serial0,serial_test串口用的是tq2440_serial2
扩展的串口是tq2440_serial1,tq2440_serial2不能做控制台吧~
回复

使用道具 举报

 楼主| xiaomingguo198 发表于 2013-5-8 19:00:24 | 显示全部楼层
都试了,还是不行~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

邢勇 发表于 2013-5-8 19:07:22 | 显示全部楼层
你在控制台输入的字符为什么会读出来?应该只有把.cfg文件里的tq2440_serial2改成tq2440_serial0后才能把控制台输入的字符原样读出吧
回复

使用道具 举报

邢勇 发表于 2013-5-8 19:08:35 | 显示全部楼层
你用扩展口干什么?是怎么用的?直接买个扩展模块插上就能用?
回复

使用道具 举报

 楼主| xiaomingguo198 发表于 2013-5-8 19:14:52 | 显示全部楼层
不是的!

回复

使用道具 举报

邢勇 发表于 2013-5-8 19:16:42 | 显示全部楼层
那是怎么用?
回复

使用道具 举报

 楼主| xiaomingguo198 发表于 2013-5-8 19:18:05 | 显示全部楼层
你看看吧~
回复

使用道具 举报

邢勇 发表于 2013-5-8 19:23:35 | 显示全部楼层
意思是你用原始的串口连控制台,把扩展口也连到pc上作为显示?就是说要连两根串口线到pc上?
回复

使用道具 举报

 楼主| xiaomingguo198 发表于 2013-5-8 19:25:30 | 显示全部楼层
天嵌给的说明文档应该是这个意思~

回复

使用道具 举报

邢勇 发表于 2013-5-8 19:28:16 | 显示全部楼层
我貌似搞了一个月串口了一直没搞明白,现在才知道什么意思,谢谢你了,大哥
回复

使用道具 举报

 楼主| xiaomingguo198 发表于 2013-5-8 19:35:07 | 显示全部楼层
谢我有什么用,我也没弄明白~
现在tq2440_serial2还收不到数据~
回复

使用道具 举报

 楼主| xiaomingguo198 发表于 2013-5-8 20:19:52 | 显示全部楼层
int main(int argc, char **argv)
{
serial_init();
serial_rw();
return 0;
// close(serialread.serial_dev);
// serial_test(telnum, telmoney);
}


void serial_rw()
{
int i;
char buff[512];
char buff2[] = "hello,TQ2440!\n";
int nread,nwrite;
nwrite = write(serial_fd,buff2,sizeof(buff2));
printf("nwrite=%d\n",nwrite);
while(1)
{
  if((nread = read(serial_fd,buff,512))>0)
  {
   buff[nread] = '\0';
#if 0 //调用这段代码可以实现回显,如果配合上面的回显,就会出现回显两次的情况。
   write(serial_fd,buff,nread);
#endif
  printf("\nrecv:%d\n",nread);
#if 0
   for(i=0;i<nread;i++)
   {
    printf("%c",buff);
   }
   printf("\n");
#else
   printf("%s",buff);
   printf("\n");
#endif
  }
}
close(serial_fd);
}
由加粗部分知道程序会打印发送数据的个数的,即nrecv:xx
但是没有打印,为什么呢,我重新编译了serial_test后把它移动到
板子的/sbin下了
哪出问题了呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-24 19:01 , Processed in 2.044986 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表