diff --git a/CMakeLists.txt b/CMakeLists.txt index 44723190623b3580fbf158dc5d745a4cde4d00d3..640df586c62e4d28d143694bae12179499054897 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,4 +13,4 @@ add_executable( src/main.c ) -target_link_libraries(main pico_stdlib) \ No newline at end of file +target_link_libraries(main pico_stdlib hardware_i2c) \ No newline at end of file diff --git a/src/main.c b/src/main.c index 65874d07347a039cc5eb22e207970f0354248a35..81d28ae3ce8c677fce6bd04107fb7d38fa907713 100644 --- a/src/main.c +++ b/src/main.c @@ -1,18 +1,48 @@ #include <pico/stdlib.h> - +#include <hardware/i2c.h> +/* 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* resetspace = (void *) (RESETS_BASE); +unsigned* resetdone = (void*) (RESETS_BASE + RESETS_RESET_DONE_IO_BANK0_BITS); +//unsigned* resetdone = (void*) RESETS_RESET_DONE_IO_BANK0_BITS; +*/ +unsigned* SDApinctrl = (void*)(IO_BANK0_BASE + IO_BANK0_GPIO0_CTRL_OFFSET); +unsigned* SCLpinctrl = (void*)(IO_BANK0_BASE + IO_BANK0_GPIO1_CTRL_OFFSET); + +//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* asdf ; + int main() { + //*SDApinctrl = IO_BANK0_GPIO0_CTRL_FUNCSEL_VALUE_I2C0_SDA; + //*SCLpinctrl = IO_BANK0_GPIO1_CTRL_FUNCSEL_VALUE_I2C0_SCL; + i2c_init + + + + gpio_set_function_masked(*SCLpinctrl , IO_BANK0_GPIO1_CTRL_FUNCSEL_VALUE_I2C0_SCL); //selbe funktion wie veroderung + gpio_set_function_masked(*SCLpinctrl , IO_BANK0_GPIO0_CTRL_FUNCSEL_VALUE_I2C0_SDA); //selbe funktion wie veroderung + + //gpio_set_function_masked(1 | 2, GPIO_FUNC_I2C); // macht beides + + /* *resetspace &= ~(1u<<5); *gpioregister = 5; *enablerregister = 0x01 << PICO_DEFAULT_LED_PIN; + + if(*resetdone & (0x1 <<5)){ + + } + for(int i = 0; i< 10 ;i++){ for(int j = 0; j <1000000; j++){ *outregister = 0x01 << PICO_DEFAULT_LED_PIN; @@ -25,6 +55,6 @@ int main() { } } - + */ return 0; } \ No newline at end of file