私のspiクラスに対応したSPISlaveクラス
spislave name(mosi, miso, sclk, ssel, int *Data);
宣言すれば割り込み受信して*Dataに値が代入されます。
spislave.cpp
- Committer:
- sgrsn
- Date:
- 2016-03-18
- Revision:
- 2:d21c2f249307
- Parent:
- 1:802fbf02e509
File content as of revision 2:d21c2f249307:
#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); format(8, 0); frequency(500000); } void spislave::getdata() { bool flag=0; while(!flag) { if(SPISlave::receive()) { *getData = SPISlave::read(); 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); }