免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4757 | 回复: 6
打印 上一主题 下一主题

[驱动] 串口收发短接,printf无法退出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-26 16:47 |只看该作者 |倒序浏览
用的at91sam9260平台,内核linux2.6.24,根文件系统用busybox1.14制作,编译器为gcc4.4.1。将调试口的收发短接,刚开始显示无效命令,后来就没有反应了,内核是一直在跑的,但是应用程序中带printf的进程都卡住了,超级终端上无法输入命令。请问printf为什么会死掉?请高手解答

论坛徽章:
0
2 [报告]
发表于 2010-11-26 19:50 |只看该作者
不太明白你所谓的短接,是不是打rx与tx连接到一起了?
这样的话你还怎么看到显示无效?

论坛徽章:
0
3 [报告]
发表于 2010-11-27 20:08 |只看该作者
printf是阻塞的,如果不能输出,就会被阻塞

论坛徽章:
0
4 [报告]
发表于 2010-11-29 09:06 |只看该作者
回复 3# 无花有果


    正解,谢谢!请问哪部分代码看出来printf是阻塞的?我断开收发线之后printk还是能打印的,为什么短接会把printf阻塞掉?

论坛徽章:
0
5 [报告]
发表于 2010-11-29 11:22 |只看该作者
经本人在pc上测试,短接rx,tx既2,3引脚,无楼主所述问题,既printf依然能打印出来。
但楼主用的是调试串口,如果短接,如何再次使用越级终端输入命令,难道还有另外一个串口在使用?

论坛徽章:
0
6 [报告]
发表于 2010-11-29 11:51 |只看该作者
回复 5# EZWORD

在开发板上运行程序,用其中一个串口做调试口,用于输入命令和查看打印信息,不是在pc上。短接后自然无法输入超级终端命令了。我只是奇怪printf为什么会死掉?如果是阻塞的话,我重新断开后应该能正常工作了才是,但是现象确是我断开后超级终端命令还是不能输入,各个进程的printf还是没有退出。为什么会printf出不来了?想看glibc中printf的实现代码,但是看不明白。

论坛徽章:
0
7 [报告]
发表于 2010-11-29 13:51 |只看该作者
对楼主的提问,本人表示很难理解,不解释。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP