linux spi 裝置節點 讀寫

2021-09-07 07:11:46 字數 1309 閱讀 6989

本文記錄spi裝置節點的操作方法。

spi匯流排裝置檔名通常為/dev/spidevn.p(n=0、1、2……,p=0、1、2……),

其中n表示第幾路spi匯流排,而p表示在該路spi匯流排中使用哪個cs訊號線。

程式kernel/documentation/spi/spidev_test.c

編譯之後,miso和mosi連線,能夠收到傳送的資料。

#include #include #include #include #include #include #include #include #include #define array_size(a) (sizeof(a) / sizeof((a)[0]))

static void pabort(const char *s)

static const char *device = "/dev/spidev1.0";

static uint8_t mode;

static uint8_t bits = 8;

static uint32_t speed = 500000;

static uint16_t delay;

static void transfer(int fd)

; uint8_t rx[array_size(tx)] = ;

struct spi_ioc_transfer tr = ;

ret = ioctl(fd, spi_ioc_message(1), &tr);

if (ret < 1)

pabort("can't send spi message");

for (ret = 0; ret < array_size(tx); ret++)

puts("");

}static void print_usage(const char *prog)

static void parse_opts(int argc, char *argv)

, ,,,

,,,,

,,,,

,};

int c;

c = getopt_long(argc, argv, "d:s:d:b:lholc3nr", lopts, null);

if (c == -1)

break;

switch (c)

}}int main(int argc, char *argv)

close(fd);

return ret;

}

tony liu

2016-10-26, shenzhen

linux i2c 裝置節點讀寫

最近需要操作24c02,封裝了一下函式方便以後操作。原始碼 include include include include include include include include define i2c default timeout 1 define i2c default retry 3 ...

裝置讀寫方式

1.緩衝區方式讀寫操作 1.1 readfile 讀取位元組數 stack parameters.read.length 輸出緩衝區 pirp associatedirp.systembuffer 輸出位元組數 pirp iostatus.information 1.2 writefile 寫入位元...

Zigbee裝置節點

zigbee定義了3種型別的裝置,每種裝置都有自己的功能要求 1 zigbee協調器 co ordinator 是啟動和配置網路的一種裝置,是網路的中心節點,乙個zigbee網路只允許有乙個zigbee協調器 2 zigbee路由器 router 是一種支援關聯的裝置,能夠將訊息 到其他裝置,zig...