Fork of X_NUCLEO_COMMON lib adding 16-bit SPI support
Fork of X_NUCLEO_COMMON by
Diff: DevSPI/DevSPI.h
- Revision:
- 11:5d30d6eefa49
- Parent:
- 10:da29b5403ca1
- Child:
- 13:9ea386e57527
diff -r da29b5403ca1 -r 5d30d6eefa49 DevSPI/DevSPI.h --- a/DevSPI/DevSPI.h Fri Oct 16 14:13:27 2015 +0200 +++ b/DevSPI/DevSPI.h Wed Feb 10 11:00:49 2016 +0000 @@ -58,9 +58,8 @@ */ DevSPI(PinName mosi, PinName miso, PinName sclk) : SPI(mosi, miso, sclk) { - bits = 9; - mode = 0; - frequency_hz = 1E6; + format(9,0); + frequency(1E6); setup_done = false; } @@ -180,8 +179,14 @@ ssel = 0; /* Read and write data at the same time. */ - for (int i = 0; i < NumBytes; i++) - pBufferToRead[i] = write(pBufferToWrite[i]); + if(_bits == 16) { + for (int i = 0; i < NumBytes; i+=2){ + ((uint16_t*)pBufferToRead)[i] = write(((uint16_t*)pBufferToWrite)[i]); + } + } else if(_bits == 8) { + for (int i = 0; i < NumBytes; i++) + pBufferToRead[i] = write(pBufferToWrite[i]); + } /* Unselect the chip. */ ssel = 1; @@ -191,9 +196,6 @@ protected: bool setup_done; - int bits; - int mode; - int frequency_hz; }; #endif /* __DEV_SPI_H */