运行示例程序
大家来运行例程,看看会发生什么?
$ 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文章
6871浏览量
88801 -
SPI
+关注
关注
17文章
1700浏览量
91295 -
程序
+关注
关注
116文章
3773浏览量
80831 -
串口通信
+关注
关注
34文章
1618浏览量
55409
发布评论请先 登录
相关推荐
如何利用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次下载
评论