问题
DS1302时钟写入数据读出数据不一致(255)
详细问题
51单片机入门教程-2020版 程序全程纯手打 从零开始入门P24 [10-2] DS1302时钟&可调时钟
视频28分钟写入数据为3,读出数据为255,DS1302时钟写入数据读出数据不一致。
解决方案
对于DS1302时钟进行写入操作时,先编写该代码
DS1302_WriteByte(0x8E, 0x00);
具体写入函数
void DS1302_WriteByte(unsigned char Command, Data){
unsigned char i;
DS1302_CE=1;
for(i=0; i<8; ++i){
DS1302_IO=Command&(0x01<<i);
DS1302_SCLK=1;
DS1302_SCLK=0;
}
for(i=0; i<8; ++i){
DS1302_IO=Data&(0x01<<i);
DS1302_SCLK=1;
DS1302_SCLK=0;
}
DS1302_CE=0;
}
原因
由于使用的芯片默认处于写保护状态
需要使用
DS1302_WriteByte(0x8E, 0x00);
解除芯片写保护
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈