Цитата(SmileGobo @ Apr 26 2011, 11:50)

Почему утопия как раз я и хочу получить API на семейство(оно ведь довольно популярное), может этот минимильные API уже кто-то сделал. Не хочется изобретать велосипед, потому как я боюсь в этом закопатся.
API должно быть заточено под применения. Нужно выбирать баланс между объёмом функционала и простотой реализации.
К примеру, для UART возможны функции: init(всякое-разное или пусто), setrate(rate), getrate(), putchar(byte), getchar(), gettxbuf() - свободное место в буфере, getrxbuf() - число принятых, но не считанных байтов. Все эти функции, кроме init(), могут не менять интерфейс при переходе на другой МК. Конфигурировать (размеры буферов, к примеру) можно макросами. Кроме того, во многих применениях setrate() и getrate() не нужны.
С таймером тоже надо смотреть на применения. Простой небыстрый периодический таймер может иметь всего две функции: init(), poll() - возвращает !0, если был очередной тик.
Ну а классы - это избыточность, на мой взгляд. Хотя признаюсь, у меня на C++ аллергия :-)