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 的值更改为我想要的值。

    Fullscreen
    1
    2
    3
    GPIO3.$name = "CLEMENT_SIN_LED";
    GPIO3.$hardware = system.deviceData.board.components.LED_RED;
    GPIO3.pinInstance.$name = "CLEMENT_SIN_LED_PIN";
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #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);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

x 出现错误。请重试或与管理员联系。