Skip to content

Commit

Permalink
cpol example
Browse files Browse the repository at this point in the history
  • Loading branch information
peterharperuk committed Aug 16, 2024
1 parent 7fe60d6 commit 8caecf1
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 0 deletions.
1 change: 1 addition & 0 deletions spi/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ if (TARGET hardware_spi)
add_subdirectory_exclude_platforms(spi_flash)
add_subdirectory_exclude_platforms(max7219_32x8_spi)
add_subdirectory_exclude_platforms(max7219_8x7seg_spi)
add_subdirectory_exclude_platforms(cpol)
else()
message("Skipping SPI examples as hardware_spi is unavailable on this platform")
endif()
12 changes: 12 additions & 0 deletions spi/cpol/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
add_executable(spi_cpol
spi_cpol.c
)

# pull in common dependencies and additional spi hardware support
target_link_libraries(spi_cpol pico_stdlib hardware_spi)

# create map/bin/hex file etc.
pico_add_extra_outputs(spi_cpol)

# add url via pico_set_program_url
example_auto_set_url(spi_cpol)
26 changes: 26 additions & 0 deletions spi/cpol/spi_cpol.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#include "hardware/spi.h"
#include "hardware/gpio.h"
#include "pico/time.h"

static int _sck = 2;
static int _mosi = 3;
static int _miso = 4;
static int _cs = 5;
static spi_inst_t* _spi = spi0;

int main(){
gpio_set_function(_sck, GPIO_FUNC_SPI);
gpio_set_function(_mosi, GPIO_FUNC_SPI);
gpio_set_function(_miso, GPIO_FUNC_SPI);
gpio_set_function(_cs, GPIO_FUNC_SPI);

spi_init(_spi, 100000);
spi_set_format(_spi, 8, SPI_CPOL_0, SPI_CPHA_0, SPI_MSB_FIRST);

while(1) {
uint8_t value = 0xAA;
(void) spi_write_blocking(_spi, &value, sizeof(value));
sleep_ms(100);
}
return 0;
}

0 comments on commit 8caecf1

Please sign in to comment.