TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640R2 自定义GPIO

我使用的SDK是

CC2640R2 SDK 4.20.00.04

我想自定义GPIO,使用的是从机的官方例程!

首先我将main里面Board_initGeneral();里面的GPIO 屏蔽了,

const PIN_Config BoardGpioInitTable[] = {

//CC2640R2_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,/* LED initially off */
//CC2640R2_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,/* LED initially off */
//CC2640R2_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,/* Button is active low */
//CC2640R2_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,/* Button is active low */
//CC2640R2_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,  /* External flash chip select */
//CC2640R2_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,/* UART RX via debugger back channel */
//CC2640R2_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,/* UART TX via debugger back channel */
//CC2640R2_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN,/* SPI master out - slave in */
//CC2640R2_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN,/* SPI master in - slave out */
//CC2640R2_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN,/* SPI clock */PIN_TERMINATE
};

之后我在SimplePeripheral_init(),函数末尾添加了自己的GPIO init,这样添加是否正确?,应为我这边长时间测试的时候会遇到从机停止广播的情况!

Viki Shi:

把不用的引脚屏蔽掉,把要用的引脚定义写进BoardGpioInitTable即可。或者直接在sysconfig里改

user6313700:

回复 Viki Shi:

请问如果在BoardGpioInitTable里面屏蔽掉后添加自己的引脚,还需要在SimplePeripheral_init()里面,调用一次PIN_open()吗?

user6313700:

回复 Viki Shi:

还有一点就是在从机例程里面,我能不能直接将 // 

//Board_initGeneral(); 替换成PIN_init(BoardGpioInitTable); 代码如下
int main()
{/* Register Application callback to trap asserts raised in the Stack */RegisterAssertCback(AssertHandler);//Board_initGeneral();PIN_init(BoardGpioInitTable);

Viki Shi:

回复 user6313700:

不用调用,Board_initGeneral那个追踪下来是到:

void CC2640R2_LAUNCHXL_initGeneral(void)
{Power_init();if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS) {/* Error with PIN_init */while (1);}/* Perform board-specific initialization */Board_initHook();
}

建议还是用原来的

user6313700:

回复 Viki Shi:

这里有几个问题想问一下
1.我尝试了一下直接调用PIN_init(BoardGpioInitTable);程序可以正常运行,所以Power_init();这个干什么用的?
2.对于Power_init();来说,我自己定制的板子是不需要加载这个功能的吧?

Viki Shi:

回复 user6313700:

电源初始化函数,此函数初始化电源管理器的内部状态。一般作为TI-RTOS初始化的一部分

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2 自定义GPIO
分享到: 更多 (0)