私の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);
    }