完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
/******************************************* 函数名称:Read1Byte 功 能:从DS1302读出1个字节的数据 参 数:无 返回值 :读出的一个字节数据 ********************************************/ uchar Read1Byte(void) { uchar i; uchar rdata = 0X00; DS_SDA_IN; //SDA对应的IO设置为输入状态 DS_RST1; //REST=1 for(i = 8; i > 0; i--) { DS_SCL1; delay(10); DS_SCL0; delay(10); rdata >>= 1; if(DS_SDA_BIT) rdata |= 0x80; } return(rdata); } 上述为MSP430F149的官方例程,功能是从DS1302中读出1个字节的数据。通过将程序与时序对比,发现加红的两句代码是不是出错了?为什么移位之后还要将数据与0x80相或呢?这样做不就会改变读取的数据吗?430小白一个,麻烦各位大侠指点一下,小弟不胜感激。 |
|
相关推荐
2个回答
|
|
如果每次读取的二进制数存入到rdata的高位并向右移位一次,再与0x80作或运算,这样就不会改变读取的数据.
|
|
|
|
读取的二进制是放在高位,即第7位,右移1位就到了第6位,然后再与0x80相或不就又给第7位置1了吗?这样就改变了读取的数据了,难道不是这样吗? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
952 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
469 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之开发板测试
400 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之网络socket程序编程
933 浏览 0 评论
飞凌嵌入式-ELFBOARD-RGB LCD屏接口的PCB设计要点
920 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11731 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 08:16 , Processed in 0.568105 second(s), Total 45, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号