打印
[嵌入式linux]

help 求帮助? C语言编一个小串口工具

[复制链接]
1017|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zr198937|  楼主 | 2014-10-22 17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <stdio.h>  
#include <windows.h>  
int main(void)  
{  
    FILE *fp;  
    char temp;  
    char buf[100];  
    if((fp=fopen("com3","r"))==NULL) puts("Can't open com3 /n");  
    while(1)  
    {  
        temp=0;  
        fscanf(fp,"%c",&temp);     到这一步就go不下去了。
        if(temp!=0)  
            putchar(temp);  
        else  
            Sleep(100);  
    }  
    fclose(fp);  
    return 0;  
}  




参考某大神源码……  求指教……

相关帖子

沙发
zr198937|  楼主 | 2014-10-22 17:07 | 只看该作者

使用特权

评论回复
板凳
zr198937|  楼主 | 2014-10-22 21:43 | 只看该作者
fopen  能读取  串口吗? 即使可以是否需要处理一下串口数据,否则串口数据一直是不断刷新的……  有木有大神……

使用特权

评论回复
地板
shell.albert| | 2014-10-24 12:28 | 只看该作者
串口一般是流式数据,你可以以阻塞或非阻塞的方式打开。
fscanf(fp,"%c",&temp);  
执行不下去,说明你的串口没有收到数据,在驱动层的read()函数里阻塞住了。
往你的串口发个数据就可以继续执行下去了。

使用特权

评论回复
5
zr198937|  楼主 | 2014-10-26 10:58 | 只看该作者
shell.albert 发表于 2014-10-24 12:28
串口一般是流式数据,你可以以阻塞或非阻塞的方式打开。
fscanf(fp,"%c",&temp);  
执行不下去,说明你的串 ...

学习了……有没有相关的博文 介绍一下   谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

8

帖子

0

粉丝