Skip to content
Snippets Groups Projects
Commit 82ddeb0e authored by Sandeep Mistry's avatar Sandeep Mistry
Browse files

Add SPI. transfer16(...) API

parent 2ceac441
Branches
Tags
No related merge requests found
......@@ -194,6 +194,22 @@ byte SPIClass::transfer(uint8_t data)
return _p_sercom->readDataSPI() & 0xFF;
}
uint16_t SPIClass::transfer16(uint16_t data) {
union { uint16_t val; struct { uint8_t lsb; uint8_t msb; }; } t;
t.val = data;
if (_p_sercom->getDataOrderSPI() == LSB_FIRST) {
t.lsb = transfer(t.lsb);
t.msb = transfer(t.msb);
} else {
t.msb = transfer(t.msb);
t.lsb = transfer(t.lsb);
}
return t.val;
}
void SPIClass::attachInterrupt() {
// Should be enableInterrupt()
}
......
......@@ -95,6 +95,7 @@ class SPIClass {
byte transfer(uint8_t data);
uint16_t transfer16(uint16_t data);
inline void transfer(void *buf, size_t count);
// Transaction Functions
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment