6919浏览
查看: 6919|回复: 3

[已解决] 求助:arduino 怎样去读取ET7208 七段音频数据

[复制链接]
求助:Arduino 怎样去读取ET7208 七段音频数据的数据。数据手册附在下面了,请大神们指点下。

ET7208.pdf

332.73 KB, 下载次数: 2634

Cain  初级技匠

发表于 2015-5-26 10:15:21

模块没用过,看了下技术手册,要走I2C口,读7段的地址位都给了
回复

使用道具 举报

yizilong  中级技师
 楼主|

发表于 2015-5-29 09:21:59

Cain 发表于 2015-5-26 10:15
模块没用过,看了下技术手册,要走I2C口,读7段的地址位都给了

我照上面写了可是读不出数据来,下面是我写的代码
int scl = 2;
int sda = 3;
void setup() {
  // put your setup code here, to run once:
  I2C_Init();
  Serial.begin(9600);
}

void loop() {

  I2C_start();
  i2c_writebyte(0x60);
  i2c_writebyte(0x07);
  I2C_start();
  i2c_writebyte(0x61);
  Serial.println(i2c_readbyte(), HEX);
  I2C_stop();
  pinMode(sda, OUTPUT);
  delay(1000);
}
void I2C_Init(void)
{
  pinMode(sda, OUTPUT);
  pinMode(scl, OUTPUT);
  digitalWrite(scl, HIGH);
  digitalWrite(sda, HIGH);

}

void I2C_start(void)
{
  digitalWrite(scl, HIGH);
  digitalWrite(sda, HIGH);
  delay(1);
  digitalWrite(sda, LOW);
  delay(1);
  digitalWrite(scl, LOW);
}
void I2C_stop()
{
  digitalWrite(scl, LOW);
  digitalWrite(sda, LOW);
  digitalWrite(scl, HIGH);
  digitalWrite(sda, HIGH);

}

uint8_t i2c_writebyte(uint8_t d)  //写一个字节
{
  uint8_t i;
  for (i = 0; i < 8; i++)
  {
    uint8_t temp;
    temp = d;
    temp = (temp & 0x80);
    if (temp == 0x80)
    {
      digitalWrite(sda, HIGH);
    }
    else
    {
      digitalWrite(sda, LOW);
    }
    d = (d << 1);
    delay(1);
    digitalWrite(scl, HIGH);
    delay(1);
    digitalWrite(scl, LOW);
    delay(1);
  }
  digitalWrite(sda, HIGH);
  delay(1);
  digitalWrite(scl, HIGH);
  delay(1);
  digitalWrite(scl, LOW);
  delay(1);

}
uint8_t i2c_readbyte(void)
{
  uint8_t i, i2c_data;
  pinMode(sda, INPUT);
  i2c_data = 0x00;
  for (i = 0; i < 8; i++)
  {
    i2c_data = i2c_data << 1;
    delay(1);
    digitalWrite(scl, LOW);
    delay(1);
    digitalWrite(scl, HIGH);
    delay(1);
    if (digitalRead(sda) == HIGH)
    {
      i2c_data = i2c_data + 1;
    }
    else
    {
      i2c_data = i2c_data + 0;
    }
  }
  delay(1);
  digitalWrite(scl, LOW);
  delay(1);
  digitalWrite(scl, HIGH);
  return i2c_data;

}
回复

使用道具 举报

chongs  学徒

发表于 2023-11-2 21:51:06

解决了吗 最近开始研究ET7208驱动 想问到这里问问 谁会呀
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail