arduino怎么用spi读从机寄存器数据
程序如下:#include <SPI.h>
int RST_PIN = 4;
int SS_PIN = 10;
void LD_reset()
{
digitalWrite(RST_PIN, HIGH);
delay(1);
digitalWrite(RST_PIN, LOW);
delay(1);
digitalWrite(RST_PIN, HIGH);
delay(1);
digitalWrite(SS_PIN, LOW);
delay(1);
digitalWrite(SS_PIN, HIGH);
delay(1);
}
uint8_t LD_ReadReg(uint8_t address)
{
digitalWrite(SS_PIN,LOW);
SPI.transfer(0x05);
SPI.transfer(address);
uint8_t result = SPI.transfer(0x00);
digitalWrite(SS_PIN, HIGH);
return result;
}
void LD_WriteReg(uint8_t address, uint8_t value)
{
digitalWrite(SS_PIN, LOW);
SPI.transfer(0x04);
// Serial.println("11111");
SPI.transfer(address);
// Serial.println(address);
SPI.transfer(value);
// Serial.println(value);
digitalWrite(SS_PIN, HIGH);
}
void setup()
{
Serial.begin(9600);
pinMode(4,OUTPUT);
pinMode(10,OUTPUT);
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV4);
SPI.setDataMode(SPI_MODE1);
SPI.begin();
}
void loop()
{
LD_reset();
// LD_ReadReg(0x6);
//LD_WriteReg(0x35,0x33);
//LD_WriteReg(0x1b,0x55);
//LD_WriteReg(0xb3,0xaa);
Serial.println(LD_ReadReg(0x06),HEX);
Serial.println(LD_ReadReg(0x06),HEX);
Serial.println(LD_ReadReg(0x35),HEX);
Serial.println(LD_ReadReg(0xb3),HEX);
}
:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'( 读取的是什么传感器,传感器说明书,时序都没有
页:
[1]