spislave name(mosi, miso, sclk, ssel, int *Data);
宣言すれば割り込み受信して*Dataに値が代入されます。
Diff: spislave.cpp
- Revision:
- 0:a43410d1c82b
- Child:
- 1:802fbf02e509
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spislave.cpp Thu Mar 17 14:40:37 2016 +0000 @@ -0,0 +1,34 @@ +#include "mbed.h" +#include "spislave.h" + + spislave::spislave(PinName mosi, PinName miso, PinName sclk, PinName ssel, int *Data) : SPISlave(mosi, miso, sclk, ssel), MyInterrupt(ssel) + { + MySPISlave = new SPISlave(mosi, miso, sclk, ssel); + getData = Data; + MyInterrupt.fall(this, &spislave::getdata); + } + void spislave::getdata() + { + bool flag=0; + while(!flag) + { + if(SPISlave::receive()) + { + *getData = SPISlave::read(); + SPISlave::reply(*getData); + flag=1; + } + } + } + void spislave::format(int bits, int mode) + { + SPISlave::format(bits, mode); + } + void spislave::frequency(int speed) + { + SPISlave::frequency(speed); + } + void spislave::reply(int setdata) + { + SPISlave::reply(setdata); + } \ No newline at end of file