Code: Select all
pinMode(PB6, INPUT_PULLUP);
...
pinMode(PB6, OUTPUT);
Code: Select all
void pin_function_fast(PinName pin, int function) {
uint32_t mode = function == INPUT ? 0 : 1; // STM_PIN_FUNCTION(function);
uint32_t port = 1; // STM_PORT(pin);
uint32_t ll_pin = pin == PB_6 ? 16448 : 32896; // STM_LL_GPIO_PIN(pin);
uint32_t ll_mode = 0;
GPIO_TypeDef *gpio = set_GPIO_Port_Clock(port);
ll_mode = mode == STM_PIN_INPUT ? LL_GPIO_MODE_INPUT : LL_GPIO_MODE_OUTPUT;
LL_GPIO_SetPinMode(gpio, ll_pin, ll_mode);
LL_GPIO_SetPinOutputType(gpio, ll_pin, LL_GPIO_OUTPUT_PUSHPULL);
if (function == INPUT) {
LL_GPIO_SetPinMode(gpio, ll_pin, LL_GPIO_MODE_FLOATING);
}
}
pin_function_fast(PB_6, 0);
...
pin_function_fast(PB_6, 1);