vitalik_1984 писал(а):Точно, но вопрос был про студию.А пины лень было писать на телефоне

Так же можно сказать про тернарный оператор, тоже не везде есть его обработка.
А насчет макроса, так то можно сделать заголовочный файл - прокладку для облегчения переносимости. Неужели там нет макросов? Студия вроде как не сильно отступает от стандартов си.
Даже ЕЕПРОМ резервного слова нет, все только в макросах.
Ну, можно и самому слепить этот макрос.
Я какбэ уже стараюсь писать код полностью переносимым, так как те или иные куски потом сгодятся в других проектах. Сокращает время разработки.
Как-то слепил 25 классов (С++) для работы с кое-каким оборудованием. Изначально, они предназначались для x86 (писалась софтина под вынь)
потом надо было научить МК работать с этим оборудованием. Взял исходники и заголовочники из MVSC 2008 и сунул в проект IAR.
Изменил только содержимое функций обмена с устройствами и индикации\обслуживания GUI (надо было вывести все на графический LCD и программные кнопки заменить на аппаратные)
Ну и лишнее тупо выкинул. Все закомпилировалось и заработало с полпинка.
Затрата времени на перенос - 2 часа.
vitalik_1984 писал(а):Неплохо бы пару комментов для сишников

Код: Выделить всё
MOV TEMP, ... ;копирование отправляемого байта в регистр TEMP
LDI TEMP2, 8 ;загрузка константы количества отправляемых битов
LOOP: ;Метка LOOP (цикл отправки)
SBRC TEMP, 0 ;пропустить следующую инструкцию, если бит 0 в регистре TEMP сброшен
SBI PORTB, _OUT ;установка бита в PORTB
SBRS TEMP, 0 ;пропустить следующую инструкцию, если бит 0 в регистре TEMP установлен
CBI PORTB, _OUT ;сброс бита в PORTB
ROR TEMP ;сдвиг в право содержимого регистра TEMP
DEC TEMP2 ;декремент регистра TEMP2
BRNE LOOP ;Если не ноль, то переходим к метке LOOP
... ;Отправка завершена