Guest User

AK4490EQ DAC DUMP

a guest
Apr 26th, 2016
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.57 KB | None | 0 0
  1. #include <Wire.h> // I2C通信のライブラリの取り組み
  2. #define DACADDR 0x11 // DACのアドレス
  3.  
  4. // 初期設定
  5. void setup()
  6. {
  7.     Wire.begin(); // I2C通信の開始
  8.     Serial.begin(9600); // パソコンのシリアルモニタの使用開始
  9.  
  10.     // DAC_Reset
  11.     Wire.beginTransmission(DACADDR);
  12.     Wire.write(0x00); // move pointer to control1 address
  13.     Wire.write(0x00); // sends 0x00 (hex) 00000000 (binary)
  14.     Wire.endTransmission();
  15.  
  16.     // リセット待ち
  17.     delay(20);
  18.  
  19.     // 10バイト一気に書き込む
  20.     Wire.beginTransmission(DACADDR);
  21.     byte reg[] = { 0x8F, 0x00, 0xA0, 0xEE, 0xEE, 0x42, 0x00, 0x00, 0x00, 0x01 };
  22.     Wire.write(0x00); // 書き込み先頭アドレス
  23.     Wire.write(reg, 10);
  24.     Wire.endTransmission();
  25.     //
  26. }
  27.  
  28. // 本作業
  29.  
  30. void loop()
  31. {
  32.     Serial.println("00H\t01H\t02H\t03H\t04H\t05H\t06H\t07H\t08H\t09H");
  33.     Wire.beginTransmission(DACADDR); // アドレス指定(バイナリ値)(7ビット)
  34.     Wire.write(0x00); // 読みだす最初のレジスタアドレスを指定
  35.     Wire.endTransmission(false); // 書込みから読み出しへ変更して続行(Repeated Start)
  36.     Wire.requestFrom(DACADDR, 10);  // デバイスに対し10バイトを要求
  37.  
  38.     while (Wire.available())  { // 受信バッファが空になるまで繰り返す
  39.         byte c = Wire.read();  // 1バイトを受信
  40.         Serial.print("0x");
  41.         Serial.print(c, HEX);
  42.         Serial.print("\t");
  43.     }
  44.     Serial.println(""); // 改行
  45.     Serial.println(""); // 改行
  46.     delay(1000);
  47. }
Add Comment
Please, Sign In to add comment