Всем привет, прошу помощи в подключении si4703 fm и nodemcu
Есть скетч
Но в ушах тишина.
Подкючаю пины к плате как в скетче.
Есть скетч
Но в ушах тишина.
Подкючаю пины к плате как в скетче.
Код:
#include <Wire.h>
#define SI4703_ADDR 0x10
#define RST D7
#define SDIO D3
#define SCL D4
void setup() {
Serial.begin(115200);
delay(20);
Serial.println();
pinMode(RST, OUTPUT);
pinMode(SDIO, OUTPUT);
digitalWrite(SDIO, LOW);
digitalWrite(RST, LOW);
delay(1);
digitalWrite(RST, HIGH);
delay(1); // Above sets up Si4703 as I2C and resets it
Wire.begin(SDIO, SCL);
uint8_t res = Wire.requestFrom(SI4703_ADDR, 32);
//We want to read the entire register set from 0x0A to 0x09 = 32 bytes.
Serial.print("requestFrom result code: ");
Serial.println(res);
if (res != 32)
Serial.println("Mismatch detected");
Serial.println("Spinning on available == 32");
while(Wire.available() < 32) ; //Wait for 16 words/32 bytes to come back from Si4703
Serial.println("Finished spinning");
uint16_t registers[16];
//Remember, register 0x0A comes in first so we have to shuffle the array around a bit
for(int x = 0x0A ; ; x++) { //Read in these 32 bytes
if(x == 0x10) x = 0; //Loop back to zero
registers[x] = read16();
if(x == 0x09) break; //We're done!
}
}
uint16_t read16() {
uint8_t hiByte = Wire.read();
uint8_t loByte = Wire.read();
return((hiByte << 8) + loByte);
}
void loop() {
}