中级会员
积分 490
金钱 490
注册时间 2019-1-18
在线时间 101 小时
60 金钱
跑通nios iisdram例程后,尝试读取文件中的数据存储到SDRAM。用fopen打开一个txt或者是dat、xls文件,总是错误。用peeror方法返回错误类型,提示“No such device”,如下图。只是很简单的调用了函数,txt文件也已经复制到c文件所在目录,如图,网上常见的改绝对地址等等常见办法都试过了,这是哪里还有问题呢?全部代码附上/*
* Try to use SDRAM
*/
#include <stdio.h> //标准输入输出头文件
#include <stdlib.h>
#include "system.h" //系统头文件
#include "alt_types.h" //数据类型头文件
#include "string.h"
int main(void){
//SDRAM地址
alt_u8 *ram = (alt_u8 *)(SDRAM_BASE+0x500000);
FILE *in = NULL;
char context[1024];
char data[1024];
int i= 0;
//向ram中写数据,当ram写完以后,ram的地址已经变为(SDRAM_BASE+0x10000+200)
memset(ram,0,100);
// in = fopen("C://Users/98467/Desktop/1.txt","r");
in = fopen("1.txt","r");
if (in == NULL)
{
perror("open file error");
}
while(!feof(in))
{
fscanf(in,"%h",&data[i]);
printf("%h ",data[i]);
i++;
}
fclose(in);
int ii;
for(ii=0;ii<100;ii++){
*(ram++) = ii;
}
//逆向读取ram中的数据
for(ii=0;ii<100;ii++){
printf("%d ",*(--ram));
}
return 0;
}
复制代码 另,我在文件无法读取后将例程程序附在了后面,观察是否能打印出99-0这100个数,发现不行。这部分我有些生疏,是因为打开文件失败程序自动抛出了吗?后面的程序就不再执行了?
我来回答
错误提示