【发布时间】:2013-11-06 19:35:35
【问题描述】:
您好,我一直在尝试使用 SPI 向 LPS331AP 写入数据,但似乎无法做到。不过我能读得很好。使用逻辑分析仪,我可以看到我正在发送我认为我正在发送的内容,所以我认为我误解了要发送到压力传感器以写入哪些位。
这是我的代码:
#include <SPI.h>
byte WHO_AM_I = 0B00001111;
byte READCTRL_REG1 = 0B10100000;
byte CTRL_REG1 = 0B00100000;
const int CS = 10;
//SPI.h sets these for us
/*
const int SDI = 11;
const int SDO = 12;
const int SCL = 13;
*/
void setup() {
Serial.begin(9600);
// start the SPI library;
SPI.begin();
// initalize the chip select pin;
pinMode(CS, OUTPUT);
byte Write = CTRL_REG1;
byte Value = 0B11100000;
digitalWrite(CS, LOW);
SPI.transfer(Write);
SPI.transfer(Value);
digitalWrite(CS, HIGH);
delay(1000);
}
void loop() {
byte result = 0;
byte Read = READCTRL_REG1;
digitalWrite(CS, LOW);
Serial.println(Read, BIN);
SPI.transfer(Read);
result = SPI.transfer(0x00);
Serial.println(result, BIN);
digitalWrite(CS, HIGH);
delay(1000);
}
【问题讨论】: