ZHCAFU4 October   2025 TXE8116-Q1 , TXE8124-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2什么是 SPI 菊花链连接?
  6. 3使用 TXE81xxEVM 的 SPI 菊花链示例
  7. 4MSPM0 伪代码示例
  8. 5Arduino 伪代码示例
  9. 6总结
  10. 7参考资料

Arduino 伪代码示例

Arduino 编码示例

#include <SPI.h>
#define CS 53

//MISO = 50
//CS = 53
//MOSI = 51
//SCLK = 52

void setup() {
  Serial.begin(115200);
  pinMode(CS, OUTPUT);

  SPI.begin();
  SPI.beginTransaction(SPISettings(125000, MSBFIRST, SPI_MODE0));
}

void loop() {
  //send SPI in 8-bit words
  uint8_t header_seg1 = 0b01000000;   //default header segment
  uint8_t header_seg2 = 0b00000100;   //4 devices in the chain
  uint8_t address_seg1 = 0b00000100;  //direction configuration register
  uint8_t address_seg2 = 0b00000000;  //port 0 selected, no multi-port

  digitalWrite(CS, LOW);
  SPI.transfer(header_seg1);
  SPI.transfer(header_seg2);
  SPI.transfer(address_seg1);         //board 4 address
  SPI.transfer(address_seg2);
  SPI.transfer(address_seg1);         //board 3 address
  SPI.transfer(address_seg2);
  SPI.transfer(address_seg1);         //board 2 address
  SPI.transfer(address_seg2);
  SPI.transfer(address_seg1);         //board 1 address
  SPI.transfer(address_seg2);
  SPI.transfer(0xFF);                 //board 4 data
  SPI.transfer(0xAA);                 //board 3 data
  SPI.transfer(0x00);                 //board 2 data
  SPI.transfer(0x55);                 //board 1 data
  digitalWrite(CS, HIGH);
}