This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/MSP432E401Y:如何使用GPIO写入功能来控制其他GPIO?

Guru**** 2609895 points
Other Parts Discussed in Thread: MSP432E401Y, CC1310

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/657706/rtos-msp432e401y-how-to-use-the-gpio_write-function-to-control-other-gpios

部件号:MSP432E401Y
主题中讨论的其他部件: CC1310

工具/软件:TI-RTOS

大家好,

我在尝试控制MSP432E401Y主板中的GPIO时遇到问题。

以下是显示其如何控制板上的LED0的中断示例代码:

/*打开用户LED */
GPIO写入(Board_GPIO _LED0,Board_GPIO _LED_ON); 
#define Board_GPIO_LED0 MSP_EXP432E401Y_GPIO D1

typedef enum MSP_EXP432E401Y_GPIOName {
MSP_EXP432E401Y_GPIO = 0,
MSP_EXP432E401Y_GPIO,USR_SW2,
MSP_EXP432E401Y_GPIO,D1
MSP_EXP432E401Y_GPIO,D2

MSP_EXP432E401Y_SDSPI_CS,

MSP_EXP432E401Y_GPIOCOUNT
} MSP_EXP432E401Y_GPIOName; 

但我不知道如何控制其他引脚,如PN1,PN2,PM6 ...

对于其它引脚,应使用什么作为调用GPIO写入的第一参数?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian,

    如果您转至MSP_EXP432E401Y.c文件,您可以为GPIO添加更多定义。  

    /*
    =================================== GPIO ===================================
    */
    #include <ti/drivers/GPIC.h>
    #include <ti/drivers/GPIO/GPIOMSP432E4.h>/*
    
    
    引脚配置阵列
    *注:引脚配置的顺序必须与之前
    *的顺序一致 在MSP_EXP432E401Y.h
    中定义*注意:不用于中断的引脚应放置在
    *的末尾 数组。 从回调数组
    到*中可以省略回调条目 减少内存使用。
    */
    gPIO_PinConfig gpioPinConfig[]={
    /*输入引脚*/
    /* MSP_EXP432E401Y_USR_SW1 */
    GPIOMSP432E4_PJ0 | GPIO _CFG_IN_PU | GPIO _CFG_IN_IN_INT_Rising,
    /* MSP_EXP432E401Y_USR_SW2 */
    GPIOMSP432E4_PJ1 | GPIO _CFG_IN_PU | GPIO _CFG_IN_IN_INT_Rising,
    
    /*输出引脚*/
    /* MSP_EXP432E401Y_USR_D1 */
    GPIOMSP432E4_PN1 | GPIO_CFG_OUT _STD | GPIO_CFG_OUT _STR_HIGH | GPIO_CFG_OUT低,
    /* MSP_EXP432E401Y_USR_D2 */
    GPIOMSP432E4_PN0 | GPIO _CFG_OUT _STD | GPIO _CFG_OUT _STR_HIGH | GPIO _CFG_OUT低,
    
    /* MSP_EXP432E401Y_SDSPI_CS */
    GPIOMSP432E4_PC7 | GPIO _CFG_OUT _STD | GPIO _CFG_OUT _STR_HIGH | GPIO _CFG_OUT _HIGH
    };
    

    您可以在注释中看到,其中每一个都对应于您记下的MSP_EXP432E401Y.h文件,您可以根据需要为其命名。 在这里,您可以使用GPIO TI驱动器来控制每个引脚。  

    有关TI-Drivers的详细信息,可能值得查看有关配置和使用TI-Drivers的SimpleLink Academy。 在此处探索:  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否可以使用TI PIN驱动程序(如 PIN_setOutputValue API)来控制MSP432 GPIO? 然后,我可以在目录中引用 GPIOMSP432E4_PN1,而不是枚举值。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Brian,

    E4不支持PIN驱动程序。 您需要使用GPIO驱动程序。

    dev.ti.com/.../

    上面提供了E4当前可用的所有API。 我们目前正在为更多驱动程序添加更多支持。 如果您转至GPIO.h并向下滚动,您可以看到一些有关如何使用驱动程序的示例。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 ,Evan。它帮了我很多。  

    还有一件事...

    您是否知道MSP432E4作为从属设备时的最大SPI传输速度是多少?

    对于CC1310 SPI从机,最大速度为4M。 E4是否相同?

    当E4作为从机工作时,它是否支持RxTimeout设置?

    超时似乎不起作用。 程序未被阻止。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Brian,

    在从属模式下,E4的最大SPI传输速度为系统时钟的1/12。 在本例中为10 MHz。 Rx Timeout (Rx超时)仍将工作。