cc2640的IO输入输出切换
时间:10-02
整理:3721RD
点击:
我的应用需要切换IO口,有时输入,有时输出
而2640的IO驱动代码,只提供了PIN_setOutputEnable,没提供setInputEnable,
如果已经把某IO设为输出,用现有的驱动,似乎只能在PIN_setConfig函数里置上PIN_INPUT_EN来切换为输入?
另外,如果设为输入时有打开边沿中断,那之后再次调用PIN_setOutputEnable切换为输出时,没有看到驱动代码有关闭输入,这时是否会误触发输入边沿中断?
PIN_open,
PIN_close
不是吧。。
请参考如下设置,使用前设置一次
static void SDA_InputInitial(void)//设置端口为输入
{
//设置为输入
PIN_setConfig(hPins, PIN_BM_OUTPUT_MODE | PIN_BM_INPUT_MODE, SDA | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP);
};
static void SDA_OutputInitial(void)//设置端口为输出
{
//设置为输出
PIN_setConfig(hPins, PIN_BM_OUTPUT_MODE | PIN_BM_INPUT_MODE, SDA | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX);
}
