完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 chenengood 于 2013-2-19 22:37 编辑
DS1302写入数据和读数据 求解 问题一:DS1302写数据写BCD码还是十进制?下面是一段初始化DS1302的程序,这么写对吗? 问题二:DS1302读数据的时候,读出来的是BCD码,以下有段程序这么转化后的结果是不是十进制数值呢? 我疑惑了很久,请假大虾。小弟不胜感激! 以下是一段初始化DS1302数据的,请问这么写对吗? void init1302() { //写入2013-02-27星期三 23:58:51 write1302(0x8e,0x00); write1302(0x80,0x51); //写入51秒 write1302(0x82,0x58); //写入58分 write1302(0x84,0x23); //写入23时 write1302(0x86,0x27); //写入27日 write1302(0x88,0x02); //写入2月 write1302(0x8c,0x13); //写入13年,2013 write1302(0x8a,0x03); //写入星期三 write1302(0x8e,0x80); } 以下是一段读取DS1302数据的程序,返回的m值是不是就是十进制数值呢? uchar read1302(uchar cmd) {uchar m,k,j,dat; ds1302_rst=0; _nop_(); _nop_(); ds1302_rst=1; _nop_(); _nop_(); write1302byte(cmd); dat=read1302byte(); ds1302_sclk=1; ds1302_rst=0; j=dat>>4; //右移4位,将高4位取出,得到十位数 k=dat&0x0f; //舍去高位保留低4位,得到个位数 m=j*10+k; // m=dat/16*10+dat%16; //这个是网上看到的,对吗? return m; } |
|
相关推荐
7个回答
|
|
读写都要用BCD码
|
|
1 条评论
|
|
貌似是2进制,具体看看手册
|
|
|
|
|
|
|
|
这个可以借鉴一下哦!!
|
|
|
|
我跟LZ有同样的疑问,请教一下,请问上面写入时间的程序对吗,我看过手册,但就是碰到不是按上面那样的我就有疑问,希望能帮忙解答,谢谢。 |
|
|
|
我跟LZ有同样的疑问,请教一下,请问上面写入时间的程序对吗,我看过手册,但就是碰到不是按上面那样的我就有疑问,希望能帮忙解答,谢谢。 |
|
|
|
你写入是对的后面转化要用你注释的哪个
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11977 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 16:08 , Processed in 0.941470 second(s), Total 96, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号