本帖最后由 ddllxxrr 于 2016-2-23 22:01 编辑
虽然微处理器主要用作SPI主机,但在某些微处理器之间需要高速双向通讯的场合,它也可以当SPI从机使用
主要把管脚不要接错,这里用两块SAMR21来进行主从通讯
其管脚定义如下:
就是用杜邦线直接连起来。
程序如下:
#include "mbed.h"
SPI spi_master(PB22, PB02, PB23); // mosi, miso, sclk
#define PIN_CS PB03
DigitalOut cs(PIN_CS);
DigitalOut led(LED1);
Serial pc(USBTX,USBRX);
int main()
{
spi_master.format(8,3);
spi_master.frequency(1000000);
while (1)
{
cs=0;
led=1;
pc.putc(spi_master.write('H'));
cs=1;
led=0;
wait(1);
}
}
从机:
SPISlave spi_slave(PB22, PB02, PB23, PB03); // mosi, miso, sclk, ssel
Serial pc(USBTX,USBRX);
int main() {
spi_slave.format(8,3);
while(1) {
while(spi_slave.receive())
{
pc.putc( spi_slave.read());
spi_slave.reply('K');
}
}
}
|