Я гуглил частоту работы битового сдвига (потому что была аналогичная проблема, на выходах микросхемы битового сдвига был мусор) и узнал что если микросхема прям збс качества то может работать на частоте до 100мгц а если говнокитай то может быть и до 20мгц, добавил перед переключением защёлки vTaskDelay и все стало работать отлично
Может можно и что-то попроще (попроизводительнее) но я сделал так и все (мне высокая скорость переключения здесь не критична) и да одновременно включается всего один вывод (в функцию прителает номер вывода который нужно включить)
Битовый сдвиг и не будет работать с частотой процессора. Шина на gpio намного медленнее процессора. Но даже так, в функции vTaskDelay, вы ждёте не такты процессора или шины, а тики операционной системы, которые по дефолту 10мс (при чем это минимум, если другая таска не перехватит управление)