arduino i2c的wire库使用求教
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arduino i2c的wire库使用求教相关的知识,希望对你有一定的参考价值。
http://arduino.cc/en/Reference/Wire
开个 google 翻译,或者 必应翻译 最多1~2钟就能看懂.
给你一个 DS1307 的例子. 前提是DS1307 内已经有设好了时间.
#include <Wire.h>#define DS1307_I2C_ADDRESS 0x68
#define REG_SEC 0x00
#define REG_MIN 0x01
#define REG_HOUR 0x02
#define REG_DAY 0x03
#define REG_DATE 0x04
#define REG_MON 0x05
#define REG_YEAR 0x06
#define REG_CTL 0x07
#define REG_RAM_START 0x08
#define REG_RAM_END 0x3F
void setup()
Wire.begin(); // 开启 I2C 总线(主设备)
Serial.begin(9600);
void loop()
Wire.beginTransmission(DS1307_I2C_ADDRESS); // 开启发送
Wire.write(REG_SEC); // 写入 DS1307 秒地址
Wire.endTransmission(); // 结束发送
Wire.requestFrom(DS1307_I2C_ADDRESS, 1); // 请求 DS1307 一个字节
uint8_t s;
if(Wire.available() == 1) // 可否获取1个数据
s = bcd2dec(Wire.read() & 0x7F); // 读取 DS1307 秒
Serial.println(s);
delay(1000);
uint8_t dec2bcd(uint8_t dec)
return ((dec/10 * 16) + (dec % 10));
uint8_t bcd2dec(uint8_t bcd)
return ((bcd/16 * 10) + (bcd % 16));
参考技术A 关注这个问题
以上是关于arduino i2c的wire库使用求教的主要内容,如果未能解决你的问题,请参考以下文章
带有SoftWire(I2C仿真器)库的多个tcs34725 arduino颜色传感器
Arduino UNO+LCD1602+PCF8574转I2C驱动显示
Proteus仿真Arduino UNO+LCD1602+PCF8574转I2C驱动显示+DS1307