測試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; //測試數(shù)據(jù) uint8_t cc; //測試應(yīng)該返回的數(shù)據(jù) uint8_t dd=0x05; //復(fù)位命令 uint16_t addm=0x0200; //命令的地址 uint16_t adds=0x0100; //寫數(shù)據(jù)的地址 uint16_t addsf=0x0400; //讀數(shù)據(jù)的地址 //發(fā)送命令 w_sram(dd,addm); delay_1ms(100); //發(fā)送命令 w_sram(aa,addm); delay_1ms(10); //發(fā)送數(shù)據(jù) w_sram(bb,adds); //讀取數(shù)據(jù) delay_1ms(50); cc=*((char*)addsf); _SEI(); } //SRAM void SRAM_init(void) { sbi(MCUCR,SRE);//外部SRAM接口使能 sbi(DDRC,PC7); // 設(shè)置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); } } }