完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
代码中uint memread(void) { start_bit(); tx_byte(0xB4); //Send SlaveAddress ============================== //tx_byte(0x00); tx_byte(0x07); //Send Command //------------ start_bit(); tx_byte(0x01); bit_out=0; DataL=rx_byte(); bit_out=0; DataH=rx_byte(); bit_out=1; Pecreg=rx_byte(); stop_bit(); return(DataH*256+DataL); }这个函数为什么是16位的数据??为什么要获取两次数据才等于一次?? 谢谢了,我看了很久没看懂,翻了DATASHEET由于是英文的也不是很懂 |
|
相关推荐
1 条评论
5个回答
|
|
这是因为存储的数据是超过8位,小于16位的,而存储器是以8位的结构存储的,所以存储或读取时都需要操作2次,然后再合并成一个完整的数据,这个在程序里也有。DataH*256+DataL
|
|
|
|
回帖奖励 +1 分积分
看下寄存器长度
|
|
|
|
人中狼 发表于 2017-7-21 19:03 哦哦,懂了 |
|
|
|
一直显示382.1是怎么回事啊,52单片机12M晶振
|
|
|
|
这个使用Proteus仿真时没有mlx90614怎么整的
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于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 18:36 , Processed in 0.670684 second(s), Total 52, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号