我想问一下我做的TWI为什么不行,就是一个读写外部ROM的程序,我都是按资料上说的做的,我用的是MEGA32L,下面帖一下我的程序
TWBR=0x2a; //80K
TWSR=0x00;
TWAR=0x00;
TWCR=0x44;
TWCR=0xa4; //开始
while(!(TWCR&0x80));
TWDR=0x02; //写操作地址为0x01
TWCR=0x84;
while(!(TWCR&0x80));
TWDR=0x20;
TWCR=0x84;
while(!(TWCR&0x80));
TWCR=0x94; //停止
TWCR=0xa4; //开始
while(!(TWCR&0x80));
TWDR=0x03; //读操作地址为0x01
TWCR=0x84;
while(!(TWCR&0x80));
cent=TWDR;
while(!(TWCR&0x80));
TWCR=0x94; //停止
想问一下这里有什么问题?我用的不是中断,这样做行吗?我这里最后的数是03,即cent=3,刚学的TWI,请高手指教 |