【问题标题】:how to setup gpio pins in GPIO.TEGRA_SOC mode vs GPIO.BCM mode using Jetson nano GPIO?如何使用 Jetson nano GPIO 在 GPIO.TEGRA_SOC 模式与 GPIO.BCM 模式下设置 gpio 引脚?
【发布时间】:2020-04-05 07:09:53
【问题描述】:

虽然找到了一些关于如何使用 GPIO.BCM 模式设置 gpio 的示例(其中引脚编号等同于 RPI(参见图片和nvidia/jetson-gpio),但我找不到在 GPIO.TEGRA_SOC 中设置引脚的示例模式。所以在深入研究 gpio 库后,我想我会有序地分享这个。请参阅下面的答案。

【问题讨论】:

    标签: python gpio nvidia-jetson


    【解决方案1】:

    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 引脚的命名:['BOARD', '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
    

    【讨论】:

      猜你喜欢
      • 2021-11-05
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-15
      • 2013-05-26
      • 2020-05-04
      • 2019-07-16
      相关资源
      最近更新 更多