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

51单片机的i2c总线?

zzzqiu 2017-07-14 浏览量:626
我想问一下51单片机中利用i2c的eeprom时,怎样储存多个数据,为什么我多次调用i2c的读写函数,只能储存一个数据,还有i2c传输的数据可以是小数吗,谢谢
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 您好,拿Atmel的eeprom來範例

    446.PNG

    您可以看到page write是可以一次寫入多筆Data (8 Bit),address會自動遞增

    小數整數並不影響喔,因為寫入是以char寫入的,所以25.3會寫入4個char '2' '5' '.' '3'

    以上
    • 发布于 2017-07-16
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 可以看下我的帖子用32写的,用的是模拟I2C和51是一样用的。

    存储多个数据:地址自增写入。

    不可以传小数

    • 发布于2017-07-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 问题一:可以储存多个数据,方法是:定义若干个8位变量,然后分多次写入,

    比方说你要写入一个16位的数据,那就写两次,此时定义一个变量,用于储存EEPROM的地址,然后每次写入时将这个地址加1即可

    问题二:I2C总线上面传输的数据没有浮点数整数的说法,统一是二进制的数据,但是你可以自定义。比方说一个八位的数据,你可以定义前面四位是整数部分,后面四位是小数部分,然后接收到之后后面四位分别乘上0.5、0.25、0.125、0.0625,前面四位分别乘上1、2、4、8即可

    • 发布于2017-07-14
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

51单片机的i2c总线?