運行示例程序
大家來運行例程,看看會發生什么?
$ sudo python3 test_spi.py
在旭日X3派的終端中,輸入運行例程的指令,接下來我們就可以看到通過SPI傳輸并收到的數據啦,相當于是左手傳遞給右手,自己給自己循環傳輸數據了。
代碼解析
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:")
# 創建spidev類的對象以訪問基于spidev的Python函數。
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")
# 發送 [0x55, 0xAA], 接收的數據應該也是 [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發送數據,同時接收數據,并打印出來,會發現打印出來的就是我們發送的。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
數據
+關注
關注
8文章
7074瀏覽量
89151 -
SPI
+關注
關注
17文章
1708瀏覽量
91723 -
程序
+關注
關注
117文章
3789瀏覽量
81140 -
串口通信
+關注
關注
34文章
1626瀏覽量
55565
發布評論請先 登錄
相關推薦
如何利用SPI模塊進行雙DSP同步串行通信設計
隨著數字信號處理器(DSP)在系統控制領域中的廣泛應用,控制各系統的DSP 之間 通信問題也越來越突出。利用DSP 本身的高速同步串行接口(SPI)模塊,可以讓DSP 直 接對接實現芯
DPDK安裝教程和DPDK程序運行收發包示例程序及性能對比實驗的詳細概述
本文檔的主要內容詳細介紹的是DPDK安裝教程和DPDK程序運行收發包示例程序及性能對比實驗的詳細概述。
發表于 09-03 08:00
?0次下載
UDP通信簡單示例程序免費下載
本文檔的主要內容詳細介紹的是UDP通信簡單示例程序免費下載包括了:UDP發送端和UDP接收端(基于本計算機,不同計算機之間的通信需要設置IP地址)
發表于 10-25 08:00
?27次下載
評論