[求助]帮忙看看这个程序

else if ( status == USB_INT_DISK_READ )/* 正在从U盘读数据块,请求数据读出 */ { DataCount = 64; /* 计数 */ i = 0; do { CH375HM_INDEX_WR( i ); i ++; *CurrentBuf = CH375HM_DATA_RD( );/*从索引地址0到63依次读出64字节的数据*/

printf("%c\n",*CurrentBuf);

CurrentBuf ++; /* 读取的数据保存到外部缓冲区 */ } while ( -- DataCount ); /* 上面这一小段C程序用汇编程序效率要高近一倍 */ CH375HM_STA = 0; /* 产生下降沿通知模块继续,说明64字节数据已经读取完成 */ } 我加了一个 printf在里面,文件中数据是012345……然后在串口看到的数据是03254…… 这是为什么啊?这是对的吗?谢谢!

你用: printf("%02x ",(unsigned short)*CurrentBuf);看下输出的是不是ASCII码出来


是ASCII码,结果是30 33 32 35 34 37 36................


那你可以做下你的RAM的测试试下看看


那RAM怎么测啊?是不是要测试RAM的地址和375是否有冲突?


不是,就是往RAM里面写进去数据,接着读出来,看读出来的数据是不是你写进去的数据


我还想问一下,CH375HMP。C中从U盘中读出的数存到了421中,那在程序中存数据的缓冲区是什么啊???


麻烦贵公司技术工程师帮帮忙吧,先谢谢了


只有登录才能回复,可以选择微信账号登录