0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SPI同步串行通信運(yùn)行示例程序

麥辣雞腿堡 ? 來(lái)源:古月居 ? 作者:古月居 ? 2023-11-24 17:43 ? 次閱讀

運(yùn)行示例程序

大家來(lái)運(yùn)行例程,看看會(huì)發(fā)生什么?

$ sudo python3 test_spi.py

在旭日X3派的終端中,輸入運(yùn)行例程的指令,接下來(lái)我們就可以看到通過(guò)SPI傳輸并收到的數(shù)據(jù)啦,相當(dāng)于是左手傳遞給右手,自己給自己循環(huán)傳輸數(shù)據(jù)了。

圖片

代碼解析

test_spi.py:

#!/usr/bin/env python3


import sys
import os
import time


# 導(dǎo)入spidev模塊
import spidev


def BytesToHex(Bytes):
    return ''.join(["0x%02X " % x for x in Bytes]).strip()


def spidevTest():
    # 設(shè)置spi的bus號(hào)(0, 1, 2)和片選(0, 1)
    spi_bus = input("Please input SPI bus num:")
    spi_device = input("Please input SPI cs num:")
    # 創(chuàng)建spidev類(lèi)的對(duì)象以訪問(wèn)基于spidev的Python函數(shù)。
    spi=spidev.SpiDev()
    # 打開(kāi)spi總線(xiàn)句柄
    spi.open(int(spi_bus), int(spi_device))


    # 設(shè)置 spi 頻率為 12MHz
    spi.max_speed_hz = 12000000


    print("Starting demo now! Press CTRL+C to exit")


    # 發(fā)送 [0x55, 0xAA], 接收的數(shù)據(jù)應(yīng)該也是 [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這個(gè)庫(kù),初始化X3Pi的SPI,之后使用xerf2發(fā)送數(shù)據(jù),同時(shí)接收數(shù)據(jù),并打印出來(lái),會(huì)發(fā)現(xiàn)打印出來(lái)的就是我們發(fā)送的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6808

    瀏覽量

    88743
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1688

    瀏覽量

    91209
  • 程序
    +關(guān)注

    關(guān)注

    116

    文章

    3756

    瀏覽量

    80751
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1607

    瀏覽量

    55381
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于STM32編寫(xiě)一個(gè)SPI接口例程

    SPI串行外設(shè)接口的縮寫(xiě),是一種高速的,全雙工,同步通信總線(xiàn)
    的頭像 發(fā)表于 10-31 15:53 ?2500次閱讀
    基于STM32編寫(xiě)一個(gè)<b class='flag-5'>SPI</b>接口<b class='flag-5'>例程</b>

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

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

    串行接口SPI接口應(yīng)用設(shè)計(jì)

    使用的同步串行三線(xiàn)SPI 接口,可以方便的連接采用SPI 通信協(xié)議的外圍或另一片AVR 單片機(jī),實(shí)現(xiàn)在短距離內(nèi)的高速
    發(fā)表于 11-07 17:28 ?80次下載

    ARM_KIT_示例程序

    ARM KIT 示例程序_2008,有需要的下來(lái)看看。
    發(fā)表于 02-18 15:11 ?19次下載

    同步串行接口SPI的C語(yǔ)言編程

    同步串行接口SPI的C語(yǔ)言編程,快來(lái)下載學(xué)習(xí)啊
    發(fā)表于 07-04 14:01 ?9次下載

    VHDL例程SPI程序

    VHDL例程 SPI程序,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-10 17:12 ?15次下載

    基于AVR單片機(jī)的SPI串行通信的應(yīng)用

    基于AVR單片機(jī)的SPI串行通信的應(yīng)用
    發(fā)表于 09-01 11:23 ?16次下載
    基于AVR單片機(jī)的<b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>通信</b>的應(yīng)用

    基于MSP430F2的SPI串行同步通信

    通用串行通信接口(USCI)采用一個(gè)硬件模塊支持多種串行通信方式。本文檔內(nèi)容介紹同步外圍接口或SPI
    發(fā)表于 09-21 15:34 ?2次下載
    基于MSP430F2的<b class='flag-5'>SPI</b><b class='flag-5'>串行同步</b><b class='flag-5'>通信</b>

    如何利用SPI模塊進(jìn)行雙DSP同步串行通信設(shè)計(jì)

    隨著數(shù)字信號(hào)處理器(DSP)在系統(tǒng)控制領(lǐng)域中的廣泛應(yīng)用,控制各系統(tǒng)的DSP 之間 通信問(wèn)題也越來(lái)越突出。利用DSP 本身的高速同步串行接口(SPI)模塊,可以讓DSP 直 接對(duì)接實(shí)現(xiàn)芯
    的頭像 發(fā)表于 02-06 08:56 ?7414次閱讀
    如何利用<b class='flag-5'>SPI</b>模塊進(jìn)行雙DSP<b class='flag-5'>同步</b><b class='flag-5'>串行</b><b class='flag-5'>通信</b>設(shè)計(jì)

    DPDK安裝教程和DPDK程序運(yùn)行收發(fā)包示例程序及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是DPDK安裝教程和DPDK程序運(yùn)行收發(fā)包示例程序及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述。
    發(fā)表于 09-03 08:00 ?0次下載
    DPDK安裝教程和DPDK<b class='flag-5'>程序</b><b class='flag-5'>運(yùn)行</b>收發(fā)包<b class='flag-5'>示例程序</b>及性能對(duì)比實(shí)驗(yàn)的詳細(xì)概述

    UDP通信簡(jiǎn)單示例程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是UDP通信簡(jiǎn)單示例程序免費(fèi)下載包括了:UDP發(fā)送端和UDP接收端(基于本計(jì)算機(jī),不同計(jì)算機(jī)之間的通信需要設(shè)置IP地址)
    發(fā)表于 10-25 08:00 ?27次下載
    UDP<b class='flag-5'>通信</b>簡(jiǎn)單<b class='flag-5'>示例程序</b>免費(fèi)下載

    Python使用示例程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Python使用示例程序和工程文件免費(fèi)下載。
    發(fā)表于 06-15 08:00 ?6次下載
    Python使用<b class='flag-5'>示例程序</b>和工程文件免費(fèi)下載

    《我和 LabVIEW》示例程序分享

    《我和 LabVIEW》示例程序分享
    發(fā)表于 12-07 17:30 ?17次下載

    基于ATmega8單片機(jī)同步串行接口SPI的C語(yǔ)言編程源程序

    基于ATmega8單片機(jī)同步串行接口SPI的C語(yǔ)言編程源程序
    發(fā)表于 05-05 09:17 ?1次下載

    基于STM32的SPI通信

    SPI串行外設(shè)接口的縮寫(xiě),是一種高速的,全雙工,同步通信總線(xiàn)。由于SPI高速和同步的特性,使
    的頭像 發(fā)表于 06-21 15:08 ?2687次閱讀
    基于STM32的<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>