标签:
Mirf 库在使用 NRF24L01 的时候接触到,感觉很好用。但在用 Arduino101 的时候遇到一些问题,记录一下,对于底层不了解,希望有熟悉的同学能给点指点:
#include "MirfHardwareSpiDriver.h"
uint8_t MirfHardwareSpiDriver::transfer(uint8_t data){
return SPI.transfer(data);
}
void MirfHardwareSpiDriver::begin(){
SPI.begin();
SPI.setDataMode(SPI_MODE0);
// SPI.setClockDivider(SPI_2XCLOCK_MASK);
SPI.setClockDivider(0x01); // <- 这里改
}
void MirfHardwareSpiDriver::end(){
}
MirfHardwareSpiDriver MirfHardwareSpi;
#include "MirfHardwareSpiDriver.h"
uint8_t MirfHardwareSpiDriver::transfer(uint8_t data){
// return SPI.transfer(data);
// 这里改为如下,settings 里的速度参数可以调整
uint8_t ret;
SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE0));
ret = SPI.transfer(data);
SPI.endTransaction();
return ret;
}
void MirfHardwareSpiDriver::begin(){
SPI.begin();
// 这里之后的都注释掉不用了
/*
SPI.setDataMode(SPI_MODE0);
// SPI.setClockDivider(SPI_2XCLOCK_MASK);
SPI.setClockDivider(0x01);
*/
}
void MirfHardwareSpiDriver::end(){
}
MirfHardwareSpiDriver MirfHardwareSpi;
Arduino101 中使用 Mirf 库的问题(2016-04-04)
标签:
原文地址:http://www.cnblogs.com/starsnow/p/5351436.html