按照你上面的描述的话,你的地址是算错的,应该是8000为375的片选地址,你可以将原理图发到TECH@WCH.CN,我们可以帮你看下原理图,从而判断你的地址是否正确
已经发到你们的邮箱中去了,盼望指教。
以下程序通过测试,读出P1口的值为0x05,说明地址是从0x8000开始,外部RAM地址没有设置错误,但就是运行不了,郁闷啊 #include #include #include #define uchar unsigned char #define uint unsigned int
sfr AUXR=0x8e; uchar xdata *p; void write(); void read(); void delay();
void main() { AUXR=0x02; // P1=0xaa; write(); // P1=0xbb; while(1) read(); // while(1); }
void write() {unsigned int j; p=0x8000; for(j=0;j<5000;j++) {*p=0x05; _nop_(); _nop_(); p++; } }
void read() { p=0x8000; P1=*(p+4000); delay(); }
void delay() {uint i; for(i=60;i>0;i--); }
我说的运行不了是指U盘读写不了啊,希望大家不要误会,急啊
大哥们,帮忙啊,指导一下,这种现象一般都有哪些原因啊,小弟很急啊
莫名其妙成功了,CH375EVT中Exam1中的程序查询磁盘物理容量的程序是注释起来的,我把注释符号去掉,竟然就能读出来了,奇怪啊,下面是串口传回来的数据,这样应该表示成功了吧 Wait UdiskReady ? DiskSize TotalSize = 983 MB Open Read Size=8, Len=8, Sec=1 Close Line 1: aabbccdd Create Write Modify Close Take out