diff --git a/Makefile b/Makefile index a37cc1264bef3a088f75397928a0151736d3fc9a..f00e7fa78484e32f2fad2043d01d00646fe4b191 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,9 @@ i2c : compile_LED uart : compile_UART sudo ./uart +spi : compile_spi + sudo ./spi + # compilations compile_switch : g++ -o switch switch.cpp -lwiringPi @@ -25,6 +28,9 @@ compile_LED : compile_UART : g++ -o uart uart.cpp -lwiringPi +compile_spi : + g++ -o spi spi.cpp -l wiringPi + .PHONY : clean clean : - rm -rf switch motor led i2c uart + rm -rf switch motor led i2c uart spi diff --git a/spi.cpp b/spi.cpp index ede3319b9eaa1e31167474c892245206bc3f0455..36d0168a02f1b7c966dee6c14816235a1b0ad1af 100644 --- a/spi.cpp +++ b/spi.cpp @@ -20,12 +20,19 @@ int main(int argc, char const *argv[]) exit(EXIT_FAILURE); } - buff[0] = 0x40; - buff[1] = 0x01; - - result = wiringPiSPIDataRW(CHANNEL_CAN, buff, 2); - - + int reg = 0x42; + + int GPIO[] = {0b00000001, 0b00000010, 0b00001000, 0b00010000}; + buff[0] = reg; + for (int i = 0; i < 4; i++) { + buff[1] = GPIO[i]; + printf("buff %i : %x %x\n",i, buff[0], buff[1]); + result = wiringPiSPIDataRW(CHANNEL_CAN, buff, 2); + printf("buff %i : %x %x\n",i, buff[0], buff[1]); + buff[0] = reg; + delay(1500); + } + return 0; }