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;
const uint8_t init[4] = { 0x21,0xa0,0xe1,0x81};
const uint8_t zeile[8] = { 0x00,0x02,0x04,0x06,0x08,0x10,0x12,0x14};
//const uint8_t test[1] = { 0x21,0xa0,0xe1,0x81};
const uint8_t fill[17] = { 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
const uint8_t empty[17] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//*SDApinctrl = IO_BANK0_GPIO0_CTRL_FUNCSEL_VALUE_I2C0_SDA;
//*SCLpinctrl = IO_BANK0_GPIO1_CTRL_FUNCSEL_VALUE_I2C0_SCL;
//gpio_pull_up(*SDApinctrl);
//gpio_pull_up(*SCLpinctrl);
// 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); //
gpio_set_function(0 ,GPIO_FUNC_I2C);
gpio_set_function(1 ,GPIO_FUNC_I2C);
i2c_write_blocking(i2c_default, 0x70 , init+0, 1 ,false);
i2c_write_blocking(i2c_default, 0x70 ,init+1, 1 ,false);
i2c_write_blocking(i2c_default, 0x70 ,init+2, 1 ,false);
i2c_write_blocking(i2c_default, 0x70 ,init+3, 1 ,false);
//const uint8_t zeile[8] = { 0x00,0x02,0x04,0x06,0x08,0x10,0x12,0x14};
i2c_write_blocking(i2c_default, 0x70 , zeile, 4 ,false);
//i2c_write_blocking(i2c_default, 0x70 , fill, 17 ,false);
i2c_write_blocking(i2c_default, 0x70 , empty, 17 ,false);
for(int i = 0 ; i <=8;i++){
}
//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;