提交 9d27d8c9 编写于 作者: G greedyhao

[bluetrum] add gpio input nopull

上级 8e0c469d
...@@ -128,6 +128,9 @@ static void ab32_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode) ...@@ -128,6 +128,9 @@ static void ab32_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode)
switch (mode) switch (mode)
{ {
case PIN_MODE_INPUT: case PIN_MODE_INPUT:
gpio_init.pull = GPIO_NOPULL;
gpio_init.dir = GPIO_DIR_INPUT;
break;
case PIN_MODE_INPUT_PULLUP: case PIN_MODE_INPUT_PULLUP:
gpio_init.pull = GPIO_PULLUP; gpio_init.pull = GPIO_PULLUP;
gpio_init.dir = GPIO_DIR_INPUT; gpio_init.dir = GPIO_DIR_INPUT;
......
...@@ -72,12 +72,16 @@ void hal_gpio_init(hal_sfr_t gpiox, gpio_init_t gpio_init) ...@@ -72,12 +72,16 @@ void hal_gpio_init(hal_sfr_t gpiox, gpio_init_t gpio_init)
switch (gpio_init->pull) switch (gpio_init->pull)
{ {
case GPIO_PULLUP: case GPIO_PULLUP:
gpiox[GPIOxPD] &= ~BIT(iocurrent);
gpiox[GPIOxPU] |= BIT(iocurrent); gpiox[GPIOxPU] |= BIT(iocurrent);
break; break;
case GPIO_PULLDOWN: case GPIO_PULLDOWN:
gpiox[GPIOxPU] &= ~BIT(iocurrent);
gpiox[GPIOxPD] |= BIT(iocurrent); gpiox[GPIOxPD] |= BIT(iocurrent);
break; break;
case GPIO_NOPULL: case GPIO_NOPULL:
gpiox[GPIOxPU] &= ~BIT(iocurrent);
gpiox[GPIOxPD] &= ~BIT(iocurrent);
default: default:
break; break;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册