请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2642R Thread 中讨论的其他器件:SysConfig
SysConfig GUI 仅允许更改 GPIO 的名称、而不允许更改关联的 PIN 的名称。 但是、对于使用 PIN 驱动程序的项目、最好为引脚指定有意义的名称。
以下是一种相当可行的解决方法:
- 使用 SysConfig GUI 创建所需的 GPIO。
- 完成后、保存并关闭文件。
- 使用文本编辑器打开.syscfg 文件(您可以使用 CCS 的文本编辑器)
- 找到与要重命名的 PIN 相对应的 GPIO。 要轻松查找 GPIO、您可以搜索在 SysConfig 中设置的确切 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); }
我希望这将有所帮助、
此致、