運行示例程序
大家來運行例程,看看會發(fā)生什么?
$ sudo python3 test_spi.py
在旭日X3派的終端中,輸入運行例程的指令,接下來我們就可以看到通過SPI傳輸并收到的數(shù)據(jù)啦,相當于是左手傳遞給右手,自己給自己循環(huán)傳輸數(shù)據(jù)了。

代碼解析
test_spi.py:
#!/usr/bin/env python3
import sys
import os
import time
# 導入spidev模塊
import spidev
def BytesToHex(Bytes):
return ''.join(["0x%02X " % x for x in Bytes]).strip()
def spidevTest():
# 設置spi的bus號(0, 1, 2)和片選(0, 1)
spi_bus = input("Please input SPI bus num:")
spi_device = input("Please input SPI cs num:")
# 創(chuàng)建spidev類的對象以訪問基于spidev的Python函數(shù)。
spi=spidev.SpiDev()
# 打開spi總線句柄
spi.open(int(spi_bus), int(spi_device))
# 設置 spi 頻率為 12MHz
spi.max_speed_hz = 12000000
print("Starting demo now! Press CTRL+C to exit")
# 發(fā)送 [0x55, 0xAA], 接收的數(shù)據(jù)應該也是 [0x55, 0xAA]
try:
while True:
resp = spi.xfer2([0x55, 0xAA])
print(BytesToHex(resp))
time.sleep(1)
except KeyboardInterrupt:
spi.close()
if __name__ == '__main__':
print("List of enabled spi controllers:")
os.system('ls /dev/spidev*')
spidevTest()
在python中使用spidev這個庫,初始化X3Pi的SPI,之后使用xerf2發(fā)送數(shù)據(jù),同時接收數(shù)據(jù),并打印出來,會發(fā)現(xiàn)打印出來的就是我們發(fā)送的。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
數(shù)據(jù)
+關注
關注
8文章
7314瀏覽量
93919 -
SPI
+關注
關注
17文章
1865瀏覽量
99689 -
程序
+關注
關注
117文章
3836瀏覽量
84738 -
串口通信
+關注
關注
34文章
1657瀏覽量
57608
發(fā)布評論請先 登錄
相關推薦
熱點推薦
串行接口SPI接口應用設計
使用的同步串行三線SPI 接口,可以方便的連接采用SPI 通信協(xié)議的外圍或另一片AVR 單片機,實現(xiàn)在短距離內的高速
發(fā)表于 11-07 17:28
?80次下載
如何利用SPI模塊進行雙DSP同步串行通信設計
隨著數(shù)字信號處理器(DSP)在系統(tǒng)控制領域中的廣泛應用,控制各系統(tǒng)的DSP 之間 通信問題也越來越突出。利用DSP 本身的高速同步串行接口(SPI)模塊,可以讓DSP 直 接對接實現(xiàn)芯
DPDK安裝教程和DPDK程序運行收發(fā)包示例程序及性能對比實驗的詳細概述
本文檔的主要內容詳細介紹的是DPDK安裝教程和DPDK程序運行收發(fā)包示例程序及性能對比實驗的詳細概述。
發(fā)表于 09-03 08:00
?0次下載
UDP通信簡單示例程序免費下載
本文檔的主要內容詳細介紹的是UDP通信簡單示例程序免費下載包括了:UDP發(fā)送端和UDP接收端(基于本計算機,不同計算機之間的通信需要設置IP地址)
發(fā)表于 10-25 08:00
?27次下載

SPI同步串行通信運行示例程序
評論