Board logo

标题: 请教为什么我收不到EOF? [打印本页]

作者: 看帖不回你咬我    时间: 2008-1-17 11:14     标题: 请教为什么我收不到EOF?

我想做一个串口通讯,用了

g_fp_uart_rs232 = fopen( UART_0_NAME, "r+" );

temp = getc(g_fp_uart_rs232);

可是当没有数据的时候,程序就停在getc这里了,等到上位机发了数据才会继续.

网上说收不到数的时候会返回EOF的,为什么我不是这样的呢?知道的人来说说看吧,感谢!


作者: kzw    时间: 2008-1-17 16:57

我们论坛上有关于uart的操作,楼主看看吧。
作者: 看帖不回你咬我    时间: 2008-1-18 11:42

还是收不到EOF……

用if(RRDY=1) IORD()这样的方法代替了。还是感谢一下好心的斑竹!

不过,之后我把收到的数据printf出来,每次到特定位置时就出现“exiting due to ^D on remote 而停止,

是不是某些字符的ASCII码不能printf出来啊?


作者: kzw    时间: 2008-1-18 17:07

看这个提示的意思好像是有ctrl+D终端输入一样。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0