问一个DS1302简单问题,谢谢!
时间:10-02
整理:3721RD
点击:
RST = 0;
_nop_(); //以下为DS1302复位的稳定时间,必须的。
SCLK = 1;
_nop_();
DSIO = 0;
_nop_();
DSIO = 1;
_nop_();
虽然在网上找了许多关于这几句指令的解释,才不多说为了延时,但我不明白的是如果是延时那么为什么不直接多加几个_nop()_;我试了一下如果把DSIO改了换成_nop()_乱码;那么这3条语句起着什么意义呢?;RST置0了DSIO再怎么变化都不会有任何改变吧;望大虾给小白解惑,谢谢;
_nop_(); //以下为DS1302复位的稳定时间,必须的。
SCLK = 1;
_nop_();
DSIO = 0;
_nop_();
DSIO = 1;
_nop_();
虽然在网上找了许多关于这几句指令的解释,才不多说为了延时,但我不明白的是如果是延时那么为什么不直接多加几个_nop()_;我试了一下如果把DSIO改了换成_nop()_乱码;那么这3条语句起着什么意义呢?;RST置0了DSIO再怎么变化都不会有任何改变吧;望大虾给小白解惑,谢谢;
资料里RST=0时的确是写入、读出都无效的,我自己的程序里,RST是当作类似片选用的,在你的这几行程序里,应该是在RST=0时设置SCLK和DSIO的状态,有资料里写在读取单片机引脚电平时,需要先向该引脚写1,然后再读引脚,再标准51里经常看到读引脚前先向引脚写1。
另外,在对外部芯片操作时,一般在对芯片片选前,都会先把相关的引脚状态确定一下
要按照时序来操作