Цитата
Ну и нормально Только #if defined (PORTA) - лишнее, ибо не будет вызываться, пока вы не определите Pin<'A'...>. В этом прелесть шаблонов
Да? А я ведь сначала без этих излишеств написал. У меня WinAVR тогда ругается
Код
'PORTE' was not declared in this scope
ну и действительно такого порта нет в восьмой меге например. А компилятор всетаки анализирует весь текст видимо. Может я чтото не так сделал?
С другой стороны для порта A дейсвительно это лишняя проверка, потомучто этот порт есть у всех авр-ок

По поводу режима ноги - для сложных случаев я оставил режим BIDIR. Можно еще режимов напридумывать. Я ж ведь ради чего это делаю - чтобы не париться с инициализацией ножек. Хочется чтоб это все делал конструктор. Вот кстати непонятка: если обьявление Pin<'A'...> сделано НЕ внутри какойто функции, то куда вставит компилятор код конструкторов?
Цитата
А вы, похоже, смотрели вариант для stm32?
Да. Но я просмотрел всю тему. Полезного почерпнул не только из последнего поста.