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.

[FAQ] CC2642R: 如何在 SysConfig 中重命名 PIN 实例?

Part Number: CC2642R
Other Parts Discussed in Thread: SYSCONFIG

如何在 SysConfig 中重命名 PIN 实例?

  • SysConfig GUI 只允许更改 GPIO 的名称,而不允许更改关联的 PIN 的名称。然而,对于使用 PIN 驱动器的项目,最好为 PIN 赋予有意义的名称。

     实现此目标的比较好的方法如下:

    使用 SysConfig GUI,创建所需的 GPIO。

     

    完成后,保存并关闭文件。

    用文本编辑器打开 .syscfg 文件(可使用 CCS 的文本编辑器)

    找到与要重命名的 PIN 对应的 GPIO。可搜索在 SysConfig 中设置的确切 GPIO 名称以轻松找到 GPIO。

    找到合适的 GPIO 后,重命名其对应的 pinInstance.$name。

    保存文件

    我已经用 simple_peripheral 示例对此进行了测试,并添加了对 LaunchPad 红色 LED 的支持。在 SysConfig GUI 中,我将 GPIO 称为“Clement_SIN_LED”。然后,我打开了 .syscfg 文件,发现 SysConfig 对应的 GPIO 实例被 SysConfig 命名为 GPIO3。因此,我将 GPIO3.pinInstance.$name 的值更改为我想要的值。

     GPIO3.$name             = "CLEMENT_SIN_LED";
    GPIO3.$hardware         = system.deviceData.board.components.LED_RED;
    GPIO3.pinInstance.$name = "CLEMENT_SIN_LED_PIN";
    

    之后,您便可在代码中使用所选的 PIN 名称。以下是我在 simple_peripheral.c 中添加的代码的一些摘录:

    #include <ti/drivers/PIN.h>
    
    PIN_Config ledPinTable[] = {
        CLEMENT_SIN_LED_PIN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MAX,
        PIN_TERMINATE
    };
    
    static PIN_Handle ledPinHandle;
    static PIN_State ledPinState;
    
    static void SimplePeripheral_init(void)
    {
      //...
      ledPinHandle = PIN_open(&ledPinState, ledPinTable);
      //...
    }
    
    static void SimplePeripheral_toggleClementLed(void)
    {
        uint32_t currVal = 0;
        currVal =  PIN_getOutputValue(CLEMENT_SIN_LED_PIN);
        PIN_setOutputValue(ledPinHandle, CLEMENT_SIN_LED_PIN, !currVal);