#include "hardware/i2c.h"
#include "pico/binary_info.h"
#define I2C_SDA 16
#define I2C_SCL 17
void setup() {
// put your setup code here, to run once:
Serial.begin( 115200 );
i2c_init( i2c_default, 100*1000 );
gpio_set_function(I2C_SDA, GPIO_FUNC_I2C);
gpio_set_function(I2C_SCL, GPIO_FUNC_I2C);
gpio_pull_up(I2C_SDA);
gpio_pull_up(I2C_SCL);
bi_decl(bi_2pins_with_func(I2C_SDA, I2C_SCL,GPIO_FUNC_I2C));
for( ;; )
{
uint8_t registerid = 0x00;
uint16_t value = 0;
i2c_write_blocking(i2c_default, 0x40, & registerid, sizeof(registerid), true );
i2c_read_blocking (i2c_default, 0x40, (uint8_t *) & value, sizeof(value), false );
uint16_t real = value;
value = real >> 8 | value << 8;
Serial.printf( "%X\n", value );
}
}
读取0x00号寄存器,获取设置。