打印
[PIC®/AVR®/dsPIC®产品]

如何用C语言取数据

[复制链接]
1372|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
GeorgeYao929|  楼主 | 2014-5-23 15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是PIC16F877A,数据存在通用寄存器20H到7FH的地址,现在要不破坏数据的情况下,我想用C语言顺序取出,存入数组?如何编写呢?
沙发
匿名  2014-5-23 15:55
//其中的in.txt就是你要读取数据的文件,当然把它和程序放在同一目录
-------------------------------------

#include <stdio.h>
int main()
{
int data;
FILE *fp=fopen("in.txt","r");
if(!fp)
{
printf("can't open file\n");
return -1;
}
while(!feof(fp))
{
fscanf(fp,"%d",&data);
printf("%4d",data);
}
printf("\n");
fclose(fp);
return 0;
}

2


猴岛ID  饭叔为你解答  望采纳

使用特权

评论回复
板凳
GeorgeYao929|  楼主 | 2014-5-23 15:58 | 只看该作者
匿名者 发表于 2014-5-23 15:55
//其中的in.txt就是你要读取数据的文件,当然把它和程序放在同一目录
----------------------------------- ...

能不能带点注释,完全看不懂啊

使用特权

评论回复
地板
GeorgeYao929|  楼主 | 2014-5-23 16:24 | 只看该作者

我是这样写的,但是它说p未定义,好像应该有很多错误

使用特权

评论回复
5
jinyin986| | 2014-5-23 21:52 | 只看该作者
        uchar  DataBuf[96];
        char *pt = (char *)0x20;
        char i;
        for(i=0; i<= (0x7f-0x20); i++)
        {
                DataBuf[i] = *pt++;       
        }
这样应该可以把数据读出来吧,不过楼主为什么说这些数据在通用寄存器里呢?

使用特权

评论回复
6
huangxz| | 2014-5-23 23:18 | 只看该作者
5#正解,用指针就可以了

使用特权

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

本版积分规则

17

主题

51

帖子

0

粉丝