ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Пятница
19 августа
1136541 Топик полностью
il-2 (05.10.2021 09:51, просмотров: 430) ответил Costic на Показываю как надо:
У вас у всех лажа, только мой вариант правильный :-) 

А если у меня AVR? Где в нем GPIOB, GPIO_MODE_OUTPUT_2_MHZ ????

Такие вещи не должны торчать на верхнем уровне, их надо скрывать ниже. И мне-таки это удалось :-)

Имеется код для работы с GPIO через функции, где пины задаются через pin_id. Можно работать как с пинами, так и с ШИНАМИ

Имеется код для работы с GPIO через макросы, где пины задаются через ИМЕНА пинов. Аналогично - можно работать с пинами и с ШИНАМИ.

Все режимы настройки GPIO тоже унифицированы, их наличие/отсутствие может быть проверено на верхнем уровне препроцессором.

Так что и для STM, и для AVR и т.д. код работы с GPIO выглядит одинаково. А эффективность кода полностью совпадает с эффективностью прямой записи в регистры.

Все специфичные для конкретного семейства МК настройки спратаны на нижнем уровне, и там ими можно очень гибко рулить.

Вот так вот :-)