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单片机实现电子时钟+数字秒表设计

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

proteus中的各类开关及其使用

一、通断开关 这类开关必须加电源,不能直接给器件施加信号。 1、普通开关(包括按钮、跳线帽、单投、多投开关、换挡开关) 2、继电器 3、拨码开关 4、模电元器件开关(swit

STM32 GPS定位

ATGM332D简介 高性能、低功耗 GPS、北斗双模定位模块 特性 特性说明基本功能三维位置定位(经纬度、海拔),测速,授时导航系统GPS、北斗 BDS(双模)支持辅助GNSS位置

利用Micropython+socket通信实现两块esp32之间的通信

利用Micropythonsocket通信实现两块esp32之间的通信 前言 前段时间参考灯哥开源的资料打造了一个基于esp32的四足八自由度的机械狗。前前端时间参考b站的键盘制作视频制作了一个3*3键位的小机械键盘,想着可以把