Bouffalo SDK GPIO input output |
Добавил(а) microsin |
Конфигурировать и использовать порты GPIO микроконтроллеров Bouffalo можно очень просто с помощью вызовов SDK. Функции для управления портами GPIO (определены в bl_gpio.h): int bl_gpio_enable_output(uint8_t pin, uint8_t pullup, uint8_t pulldown); int bl_gpio_enable_input(uint8_t pin, uint8_t pullup, uint8_t pulldown); int bl_gpio_output_set(uint8_t pin, uint8_t value); int bl_gpio_input_get(uint8_t pin, uint8_t *value); int bl_gpio_input_get_value(uint8_t pin); int bl_gpio_int_clear(uint8_t gpioPin, uint8_t intClear); void bl_gpio_intmask(uint8_t gpiopin, uint8_t mask); void bl_set_gpio_intmod(uint8_t gpioPin, uint8_t intCtrlMod, uint8_t intTrgMod); void bl_gpio_register(gpio_ctx_t *pstnode); Эта функция настраивает ножку порта на вход: int bl_gpio_enable_input(uint8_t pin, uint8_t pullup, uint8_t pulldown); Параметр pin указывает номер ножки порта от 0 до 22 включительно. Например, для GPIO8 надо указать 8, или GLB_GPIO_PIN_8 (определено в перечислении GLB_GPIO_Type заголовка bl602_gpio.h). Параметры pullup и pulldown указывают включение подтяжки вверх и вниз соответственно (0 подтяжку выключает, 1 включает). Эта функция настраивает ножку порта на выход: int bl_gpio_enable_output(uint8_t pin, uint8_t pullup, uint8_t pulldown); Управление выходом на примере микроконтроллера BL602: #include < bl_gpio.h>
// С помощью осциллографа можно определить время, которое необходимо
// загрузчику для запуска приложения. bl_gpio_enable_output(GLB_GPIO_PIN_8, 0, 0); // Настройка GPIO8 на выход bl_gpio_output_set(GLB_GPIO_PIN_8, 1); // Перевод GPIO8 в лог. 1 Как считать уровень на ножке порта GPIO8: int pinval = bl_gpio_input_get_value(GLB_GPIO_PIN_8); if (pinval) Beep(10); [Ссылки] 1. BL602 IoT SDK configure GPIO site:pine64.github.io. |