0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SPI同步串行通信运行示例程序

麦辣鸡腿堡 来源:古月居 作者:古月居 2023-11-24 17:43 次阅读

运行示例程序

大家来运行例程,看看会发生什么?

$ 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

    文章

    6571

    浏览量

    87955
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1628

    浏览量

    90117
  • 程序
    +关注

    关注

    114

    文章

    3673

    浏览量

    79869
  • 串口通信
    +关注

    关注

    33

    文章

    1588

    浏览量

    55051
收藏 人收藏

    评论

    相关推荐

    基于STM32编写一个SPI接口例程

    SPI串行外设接口的缩写,是一种高速的,全双工,同步通信总线
    的头像 发表于 10-31 15:53 1198次阅读
    基于STM32编写一个<b class='flag-5'>SPI</b>接口<b class='flag-5'>例程</b>

    SPI同步串行通信中的“同步”指的是什么?

    SPI口,同步串行通信中的“同步”指的是什么?
    发表于 10-28 08:12

    ARM_KIT_示例程序

    ARM KIT 示例程序_2008,有需要的下来看看。
    发表于 02-18 15:11 19次下载

    同步串行接口SPI的C语言编程

    同步串行接口SPI的C语言编程,快来下载学习啊
    发表于 07-04 14:01 8次下载

    VHDL例程SPI程序

    VHDL例程 SPI程序,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-10 17:12 15次下载

    基于MSP430F2的SPI串行同步通信

    通用串行通信接口(USCI)采用一个硬件模块支持多种串行通信方式。本文档内容介绍同步外围接口或SPI
    发表于 09-21 15:34 2次下载
    基于MSP430F2的<b class='flag-5'>SPI</b><b class='flag-5'>串行同步</b><b class='flag-5'>通信</b>

    单片机串行通信SPI通信教程

    单片机串行通信SPI通信
    发表于 12-20 12:18 11次下载

    如何利用SPI模块进行双DSP同步串行通信设计

    随着数字信号处理器(DSP)在系统控制领域中的广泛应用,控制各系统的DSP 之间 通信问题也越来越突出。利用DSP 本身的高速同步串行接口(SPI)模块,可以让DSP 直 接对接实现芯
    的头像 发表于 02-06 08:56 6722次阅读
    如何利用<b class='flag-5'>SPI</b>模块进行双DSP<b class='flag-5'>同步</b><b class='flag-5'>串行</b><b class='flag-5'>通信</b>设计

    DPDK安装教程和DPDK程序运行收发包示例程序及性能对比实验的详细概述

    本文档的主要内容详细介绍的是DPDK安装教程和DPDK程序运行收发包示例程序及性能对比实验的详细概述。
    发表于 09-03 08:00 0次下载
    DPDK安装教程和DPDK<b class='flag-5'>程序</b><b class='flag-5'>运行</b>收发包<b class='flag-5'>示例程序</b>及性能对比实验的详细概述

    UDP通信简单示例程序免费下载

    本文档的主要内容详细介绍的是UDP通信简单示例程序免费下载包括了:UDP发送端和UDP接收端(基于本计算机,不同计算机之间的通信需要设置IP地址)
    发表于 10-25 08:00 26次下载
    UDP<b class='flag-5'>通信</b>简单<b class='flag-5'>示例程序</b>免费下载

    《我和 LabVIEW》示例程序分享

    《我和 LabVIEW》示例程序分享
    发表于 12-07 17:30 17次下载

    通信协议:SPI

    STM32模拟SPI通信协议SPI的简介:SPI串行外设接口的缩写,是一种高速的,全双工、同步
    发表于 12-22 19:20 22次下载
    <b class='flag-5'>通信</b>协议:<b class='flag-5'>SPI</b>

    基于ATmega8单片机同步串行接口SPI的C语言编程源程序

    基于ATmega8单片机同步串行接口SPI的C语言编程源程序
    发表于 05-05 09:17 1次下载

    基于STM32的SPI通信

    SPI串行外设接口的缩写,是一种高速的,全双工,同步通信总线。由于SPI高速和同步的特性,使
    的头像 发表于 06-21 15:08 2125次阅读
    基于STM32的<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>

    RX722M的示例程序说明

    电子发烧友网站提供《RX722M的示例程序说明.pdf》资料免费下载
    发表于 12-21 10:57 1次下载
    RX722M的<b class='flag-5'>示例程序</b>说明