Newer
Older
unsigned* enablerregister = (void *) (SIO_BASE + SIO_GPIO_OE_SET_OFFSET);
unsigned* volatile outregister = (void *) (SIO_BASE + SIO_GPIO_OUT_SET_OFFSET);
unsigned* volatile outclearregister = (void *) (SIO_BASE + SIO_GPIO_OUT_CLR_OFFSET);
unsigned* gpioregister = (void *) (IO_BANK0_BASE + IO_BANK0_GPIO25_CTRL_OFFSET );
unsigned* resetdone = (void*) (RESETS_BASE + RESETS_RESET_DONE_IO_BANK0_BITS);
//unsigned* resetdone = (void*) RESETS_RESET_DONE_IO_BANK0_BITS;
*/
//unsigned* SDApin = (void*)(SIO_BASE + IO_BANK0_GPIO0_CTRL_FUNCSEL_VALUE_I2C0_SDA);
//unsigned* SCLpin = (void*)(IO_BANK0_GPIO1_CTRL_FUNCSEL_VALUE_I2C0_SCL);
//unsigned* SDApinctrl = (void*)(IO_BANK0_BASE + IO_BANK0_GPIO0_CTRL_OFFSET);
//unsigned* SCLpinctrl = (void*)(IO_BANK0_BASE + IO_BANK0_GPIO1_CTRL_OFFSET);
unsigned* SDApinctrl = (void *)PICO_DEFAULT_I2C_SDA_PIN;
unsigned* SCLpinctrl = (void *)PICO_DEFAULT_I2C_SCL_PIN;
//*SDApinctrl = IO_BANK0_GPIO0_CTRL_FUNCSEL_VALUE_I2C0_SDA;
//*SCLpinctrl = IO_BANK0_GPIO1_CTRL_FUNCSEL_VALUE_I2C0_SCL;
gpio_set_function_masked(*SDApinctrl , IO_BANK0_GPIO0_CTRL_FUNCSEL_VALUE_I2C0_SDA); //
gpio_set_function_masked(*SCLpinctrl , IO_BANK0_GPIO1_CTRL_FUNCSEL_VALUE_I2C0_SCL); //
i2c_init(i2c_default, 100000);
gpio_pull_up(*SDApinctrl);
gpio_pull_up(*SCLpinctrl);
//uint8_t* lampe [2] = {0x01,0xff};
i2c_write_blocking(i2c_default, 0x70 ,(const uint8_t *) 0x21, 1 ,false);
i2c_write_blocking(i2c_default, 0x70 ,(const uint8_t *) 0xa0, 1 ,false);
i2c_write_blocking(i2c_default, 0x70 ,(const uint8_t *) 0xe1, 1 ,false);
i2c_write_blocking(i2c_default, 0x70 ,(const uint8_t *) 0x81, 1 ,false);
i2c_write_blocking(i2c_default, 0x70 ,(const uint8_t *) 0x0055, 2 ,false);
//i2c_write_blocking(i2c_default, 0x70 ,(const uint8_t *) 0x81, 1 ,false);
*gpioregister = 5;
*enablerregister = 0x01 << PICO_DEFAULT_LED_PIN;
for(int j = 0; j <1000000; j++){
//*outregister = 0x00 << SIO_GPIO_HI_OUT_CLR_OFFSET;
*outclearregister = 0x01 << PICO_DEFAULT_LED_PIN;