2024-05-18 19:55:58 发布
网友
虽然找到了许多关于如何使用gpio.BCM模式设置gpio的示例(在这种模式下,管脚编号相当于RPI(请参见图和nvidia/jetson-gpio),但我找不到在gpio.TEGRA_SOC模式下设置管脚的示例。因此,在深入挖掘gpio库后,我想我会以有序的方式共享此示例。请参阅下面的答案
BCM模式,定义引脚9(来自nano输出的信号,例如触发器)和引脚11(来自传感器的信号进入nan0)——
import Jetson.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(9, GPIO.OUT) GPIO.setup(11, GPIO.IN)
设置后,从输入引脚获取值-
GPIO.input(11)
设置后,输出引脚的设置值-
GPIO.output(9, False) GPIO.output(9, True)
TEGRA_SOC模式,与之前一样定义引脚9和11。用识别字符串名称替换数字 {9:'SPI1_MISO',11:'SPI1_SCK'}
import Jetson.GPIO as GPIO GPIO.setmode(GPIO.TEGRA_SOC) GPIO.setup('SPI1_MISO', GPIO.OUT) GPIO.setup('SPI1_SCK', GPIO.IN)
GPIO.input('SPI1_SCK')
GPIO.output('SPI1_MISO', False) GPIO.output('SPI1_MISO', True)
一般来说,要打印出每种可能模式下所有gpio引脚的命名:[“电路板”、“BCM”、“CVM”、“TEGRA_SOC”]使用-
print(GPIO.gpio_pin_data.get_data()[-1])
要创建一个将bcm num转换为tegra的好词典,请使用-
bcm_to_tegra = { k: list(GPIO.gpio_pin_data.get_data()[-1]['TEGRA_SOC'].keys())[i] for i, k in enumerate(GPIO.gpio_pin_data.get_data()[-1]['BCM'])} for k, v in bcm_to_tegra.items(): print('bcm #:', k, 'tegra:', v) // output: bcm #: 4 tegra: AUD_MCLK bcm #: 17 tegra: UART2_RTS bcm #: 18 tegra: DAP4_SCLK bcm #: 27 tegra: SPI2_SCK bcm #: 22 tegra: LCD_TE bcm #: 23 tegra: SPI2_CS1 bcm #: 24 tegra: SPI2_CS0 bcm #: 10 tegra: SPI1_MOSI bcm #: 9 tegra: SPI1_MISO bcm #: 25 tegra: SPI2_MISO bcm #: 11 tegra: SPI1_SCK bcm #: 8 tegra: SPI1_CS0 bcm #: 7 tegra: SPI1_CS1 bcm #: 5 tegra: CAM_AF_EN bcm #: 6 tegra: GPIO_PZ0 bcm #: 12 tegra: LCD_BL_PW bcm #: 13 tegra: GPIO_PE6 bcm #: 19 tegra: DAP4_FS bcm #: 16 tegra: UART2_CTS bcm #: 26 tegra: SPI2_MOSI bcm #: 20 tegra: DAP4_DIN bcm #: 21 tegra: DAP4_DOUT
BCM模式,定义引脚9(来自nano输出的信号,例如触发器)和引脚11(来自传感器的信号进入nan0)——
设置后,从输入引脚获取值-
设置后,输出引脚的设置值-
TEGRA_SOC模式,与之前一样定义引脚9和11。用识别字符串名称替换数字 {9:'SPI1_MISO',11:'SPI1_SCK'}
设置后,从输入引脚获取值-
设置后,输出引脚的设置值-
一般来说,要打印出每种可能模式下所有gpio引脚的命名:[“电路板”、“BCM”、“CVM”、“TEGRA_SOC”]使用-
要创建一个将bcm num转换为tegra的好词典,请使用-
相关问题 更多 >
编程相关推荐