正常不是把用户输出的十进制数据转为BCD码才能被DS1302识别吗
- <blockquote>/*------------------------------------------------
复制代码前面数组定义是
unsigned char
time_buf1[8] = {20,15,11,6,20,59,00,5};//空年月日时分秒周
unsigned char time_buf[8] ;
麻烦大家看一下这个函数吧,这个函数的功能应该就是把十进制的时间改为二进制然后写入DS1302
所以注释的BCD码处理应该指的就是十进制转bcd码,可是安装这个算法完全算不出来BCD码,我们取i=1吧,那么就是
tmp=time_buf1[1]/10; //15/10=1=tmp
time_buf[1]=time_buf1[1]%10; //15%10=5=time_buf[1]
time_buf[1]=time_buf[1]+tmp*16; //5+1*16=21=time_buf[1]
这个21很明显绝不是BCD码啊,还是我里面什么想错了?
一周热门 更多>