> Могу ссылку дать - полюбуйтесь: http://easyelectronics.ru/rabota-s-portami-vvoda-vyvoda-mikr... Угу, прикол состоит в том что
1) на си++ это в виде сырца вышло длиннее в три раза чем было бы асме. Ну нифига себе профит от высокоуровневого ЯП.
2) например инициализация LCD (void LCDinit(void)//Initializes LCD) является такой аццкой кашей что при взгляде на это глаза собираются в кучку и чего оно делает - без поллитра вообще не разберешься. Читабельность функции в полной Ж. Честно говоря, даже асмовая портянка выглядит менее жутко. Например LDP=0<<LCD_D7|0<<LCD_D6|1<<LCD_D5|1<<LCD_D4; //4 bit mode - ну да, совсем не похоже на брейнфак, особенно учтя что такое же << используется для сдвига влево. Веселее всего было бы скомбинировать сдвиг влево с выводом, чтобы совсем уж наверняка сломать мозг всем вокруг.
3) Тинька на плюсах... круто придумано, но какой смысл в плюсах на паре кило флеша? Боинг 767 - для похода в магазин?
4) Если честно я не понимаю на кой хрен умножать сущности сверх необходимого. Класс для пина GPIO? Насущная необходимость, конечно.
Правда ради справедливости замечу что там все-таки приведены асмовые листинги и они довольно культурные (avr-gcc молодцом). Правда проблема в том что эта культурность - в сильно некоторых ситуациях и если хочется хоть какой-то оптимальности - придется в этом листинге дневать и ночевать, рассматривая что там накосячил компилер. Что вообще-то добавляет mindf*ck`а. Хотя по логике вещей высокоуровневый ЯП как раз для уменьшения оного.