Fork of X_NUCLEO_COMMON lib adding 16-bit SPI support
Fork of X_NUCLEO_COMMON by
Revision 11:5d30d6eefa49, committed 2016-02-10
- Comitter:
- apalmieri
- Date:
- Wed Feb 10 11:00:49 2016 +0000
- Parent:
- 10:da29b5403ca1
- Child:
- 13:9ea386e57527
- Commit message:
- Add 16-bit SPI support
Changed in this revision
| DevSPI/DevSPI.h | Show annotated file Show diff for this revision Revisions of this file |
--- 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 */
