diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index e31e5e7..cc0ce07 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -3,69 +3,8 @@ "myDefaultIncludePath": [ "${workspaceFolder}", "${workspaceFolder}/build", - "${env:PICO_SDK_PATH}/src/./common/pico_binary_info/include", - "${env:PICO_SDK_PATH}/src/./common/pico_base/include", - "${env:PICO_SDK_PATH}/src/./common/pico_time/include", - "${env:PICO_SDK_PATH}/src/./common/pico_util/include", - "${env:PICO_SDK_PATH}/src/./common/pico_divider/include", - "${env:PICO_SDK_PATH}/src/./common/boot_uf2/include", - "${env:PICO_SDK_PATH}/src/./common/pico_usb_reset_interface/include", - "${env:PICO_SDK_PATH}/src/./common/boot_picoboot/include", - "${env:PICO_SDK_PATH}/src/./common/pico_bit_ops/include", - "${env:PICO_SDK_PATH}/src/./common/pico_sync/include", - "${env:PICO_SDK_PATH}/src/./boards/include", - "${env:PICO_SDK_PATH}/src/./rp2040/hardware_structs/include", - "${env:PICO_SDK_PATH}/src/./rp2040/hardware_regs/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_fix/rp2040_usb_device_enumeration/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_interp/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_stdio_semihosting/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_int64_ops/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_stdio/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_gpio/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_claim/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_irq/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_resets/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_xosc/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_multicore/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_adc/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_uart/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_lwip/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_printf/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_stdio_usb/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/cmsis/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/cmsis/stub/CMSIS/Device/RaspberryPi/RP2040/Include", - "${env:PICO_SDK_PATH}/src/./rp2_common/cmsis/stub/CMSIS/Core/Include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_pio/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_base/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_i2c/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_rtc/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_bootrom/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_platform/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_mem_ops/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_divider/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_timer/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_unique_id/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_dma/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/boot_stage2/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_vreg/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_cyw43_arch/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_malloc/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_double/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_clocks/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_runtime/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_watchdog/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_pll/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_spi/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_float/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/pico_stdio_uart/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_sync/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_exception/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_pwm/include", - "${env:PICO_SDK_PATH}/src/./rp2_common/hardware_flash/include", - "${env:PICO_SDK_PATH}/src/common/pico_base/include", - "${env:PICO_SDK_PATH}/build/generated/pico_base", - "${env:PICO_SDK_PATH}/src/common/pico_base/include/pico", - "${env:PICO_SDK_PATH}/src/common/pico_stdlib/include" + "${workspaceFolder}/build/generated/pico_base", + "${env:PICO_SDK_PATH}/src/**/include" ], "myCompilerPath": "/usr/bin/arm-none-eabi-gcc" }, diff --git a/CMakeLists.txt b/CMakeLists.txt index fff04c5..d7bd855 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,7 @@ add_executable(I2C_Slave ) target_link_libraries(I2C_Slave + hardware_pwm hardware_i2c hardware_uart hardware_pio diff --git a/main.c b/main.c index 5f8379d..7571d1a 100644 --- a/main.c +++ b/main.c @@ -2,11 +2,12 @@ #include "pico/stdlib.h" #include "pico/multicore.h" #include "hardware/i2c.h" +#include "hardware/pwm.h" #include "i2c_fifo.h" #include "i2c_slave.h" -#define I2C0_SDA_PIN 4 -#define I2C0_SCL_PIN 5 +#define I2C0_SDA_PIN 18 +#define I2C0_SCL_PIN 19 #define I2C_SLAVE_ADDRESS 0x10 @@ -82,8 +83,15 @@ void main(void) stdio_init_all(); setup_slave(); + gpio_set_function(0, GPIO_FUNC_PWM); + uint slice_num = pwm_gpio_to_slice_num(0); + pwm_set_wrap(slice_num, 255); + pwm_set_enabled(slice_num, true); + while(1){ - + printf(">adc:%d\n", context.mem[0]); + pwm_set_chan_level(slice_num, PWM_CHAN_A, context.mem[0]); + sleep_ms(10); } }