测试CH375一直没工作,不知道是我的代码问题还是硬件的问题?
我的程序如下: // CH375 ATMAGE128 WR -- WR RD -- RD A0 -- PC1 CS -- PD2 //
#include #include #include #include #include #include
void SRAM_init(void); void w_sram(char wdata,uint16_t wadder); void delay_1ms(int a);
void main() { SRAM_init(); uint8_t aa=0x06; //测试命令 uint8_t bb=0x57; //测试数据 uint8_t cc; //测试应该返回的数据 uint8_t dd=0x05; //复位命令 uint16_t addm=0x0200; //命令的地址 uint16_t adds=0x0100; //写数据的地址 uint16_t addsf=0x0400; //读数据的地址 //发送命令 w_sram(dd,addm); delay_1ms(100); //发送命令 w_sram(aa,addm); delay_1ms(10); //发送数据 w_sram(bb,adds); //读取数据 delay_1ms(50); cc=*((char*)addsf); _SEI(); } //SRAM void SRAM_init(void) { sbi(MCUCR,SRE);//外部SRAM接口使能 sbi(DDRC,PC7); // 设置CS cbi(PORTC,PC7); }
/* 由于使用通用I/O模块并口读写时序,所以进行初始化 */
void w_sram(char wdata,uint16_t wadder) { //*((char*)0x11ff)=a; *((char*)wadder)=wdata; }
//DELAY void delay_1ms(int a) { int m; int n; for(n=a;n>0;n--) { for(m=100;m>0;m--) { _delay_loop_1(10); } } }