STM сожмет, тем более, что жатва там еще та.:-))) Я про 51 спрашивал. Ребята, вы какие-то детские примеры приводите. Типа резистивного делителя для схемотехника. Редкий схемотехник будет искать среди своего творческого наследия схему резистивного делителя. Программисты почему-то подобным занимаются и пытаются, при этом, еще привести обоснования. Я вот собственно это имел ввиду, когда писал, только не помню кому, но в этой ветке, что такую элементарщину проще написать заново, чем вспоминать - "ах, епть, ведь мне N лет назад успешно удалось написать на C программу умножения 2 на 2, а щас опять такая же задача, надо бы разыскать ту программу". Это одна сторона вопроса. Другая - уже тоже писал. Слишком разные возможности контроллеров, чтоб можно было всерьез озабочиваться переносимостью программ с 8 на 32 разрядный и обратно.
Третья сторона вопроса. Я могу привести пример семейства, правда не микроконтроллеров, а DSP, где вообще нет 8-ми битных переменных. А нет их потому, что нет 8-ми разрядных объектов ни в памяти, ни в периферии.
Нет такой адресуемой единицы.
И по этой причине даже тип char, в среде программирования для них, не 8-ми, а 16-ти разрядный. Это семейство TMS320C54XX. А среда программирования для них - Code Composer Studio.
По вычислительным возможностям он, хотя и 16-ти разрядный, уделает любой ARM, работающий на сравнимой тактовой.
Ну и как тут переносить программы на это семейство с какого-то другого семейства, для которого народные умельцы ввели типы int8, uint8 и прочая? Да, конечно, можно их и для tms320c54xx по прежнему обозначать в программах как int8,uint8, а сами типы переопределить, сделав их на самом деле 16-ти разрядными. Но это, во-первых, лишние телодвижения, во-вторых, лазейка для ошибок,
в-третьих наличие обозначений int8, uint8 в программе для этого семейства будет смотреться как седло на козе и легко введет в ступор постороннего человека.
Ну и т.д.