jinpenghf 发表于 2015-2-3 14:15:22

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

jinpenghf 发表于 2015-3-3 17:09:14

:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(:'(

seekyong 发表于 2015-3-21 23:14:57

读取的是什么传感器,传感器说明书,时序都没有
页: [1]
查看完整版本: arduino怎么用spi读从机寄存器数据