NVIDIA Jetson之SPI功能开发

0 背景

从 JetPack 4.3 开始, jetson 设备可以使用 Jetson-IO 工具来对 pin 进行各种配置。所有的开发板都有一个 40 引脚的 pin,这些 pin 默认设置为 GPIO(General Purpose I/O) 功能,一些特殊引脚支持 SFIO( Special Function I/O (SFIO)) 功能,比如 I2C, I2S, SPI 等等。

这些引脚的功能在刷机时是被确定了的,如果要修改引脚的功能,需要通过 Jetson-IO 工具来进行配置。本文以 SPI 功能为例,介绍如何根据需求修改 pin 引脚定义。

1 运行方法

直接在命令行中运行脚本

sudo /opt/nvidia/jetson-io/jetson-io.py

运行起来后选择你要配置的 Header(引脚),比如对于 jetson nano,显示界面如下

 我们选择配置 40pin 引脚后,会显示各个引脚默认的功能

 有两种模式:

  • 配置兼容硬件:预置了一些功能配置
  • 手动配置引脚:手动指定每个引脚的功能

 我们选择第二种模式,进行引脚功能切换,进入后显示如下

 我们选择使能 spi1 功能,即修改 19,21,23,24,26 的功能为 spi1 对应的引脚,选择后进行保存,并重启设备,配置就完成了。

具体的,19,21,23,24,26对应的功能,可通过 jetson nano 40 pin 引脚定义查看

2 开发方法

2.1 python 方法

安装库

pip install spidev

启动并配置 SPI 接口

spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 15600000

发送数据

def write_pot(input):
    msb = input >> 8
    lsb = input & 0xFF
    spi.xfer([msb, lsb])

2.2 c++ 方法

GitHub - PaulStoffregen/SPI: SPI library for Teensy & Arduino IDE

SPI Arduino Library, connecting SPI devices to Teensy

 参考

版权声明:本文为CSDN博主「ZONG_XP」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zong596568821xp/article/details/120994240

生成海报
点赞 0

ZONG_XP

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

汇编实现LED点亮

汇编点亮一个LED MCS-51单片机 也许C语言人人都会,但使用汇编语言就不一定了。 使用汇编语言点亮一个LED灯 程序: ORG 0000H MAIN:CLR P2.0 LJMP MAINEND 注释如下&#