• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

寄存器的数据是16位,第一次读到的时高8位还是低8位?

huihui163 2020-11-04 浏览量:3400
IIC通讯的电量计,电量百分比寄存器的数据是16位,第一次读到的时高8位还是低8位?如何换算成十进制,直接判断电量多少呢
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个要看你的单片机是大端还是小端的了,两种模式是相反的,你可以定义一个16位数据,用移位方式,取出高8位,看看是哪个数据,寄存器的方式是一样的。
    • 发布于 2020-11-05
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 可以先向某个地址的寄存器里面写一个16bit的数据,然后再读出来,比较判断确认 一下,
    • 发布于2020-11-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个要看芯片的,有的是先出高8位,有的是先出低8位;

    至于换算成10进制,同样要看数据手册,是否还需要乘以系数才是正确的电量值

    • 发布于2020-11-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般情况下,会把高八位放前面,徐娅对应看看电量计芯片手册,换成十进制就直接short类型不久可以了
    • 发布于2020-11-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 第一次是高8位,第二次时低8位,地址靠前一般都是高位,换算成10进制只要把高位成16加低位,比如0x5c,就等于,5乘16加12等于92
    • 发布于2020-11-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个不同的平台有不同的处理,也就是大小端问题的来源,需要看你怎么处理。

    如果仅仅是自己处理,随便确定一种即可,如果是协议中,需要按照协议进行,或者进行约定。

    • 发布于2020-11-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个要看你取的是哪个地址,它的每个地址里面只能存放8位数据的,然后有大小字节序的区分
    • 发布于2020-11-10
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

寄存器的数据是16位,第一次读到的时高8位还是低8位?