char buf[] = { //массив с цифрами
0b00000011, //0
0b10011111, //1
0b00100101, //2
0b00001101, //3
0b10011001, //4
0b01001001, //5
0b01000001, //6
0b00011111, //7
0b00000001, //8
0b00001001, //9
0b11111111
};
unsigned char a;
for(a=0; a<8; a++){ //цикл для вывода 8 бит данных из массива
PORTB.0 = buf[1] & 1<<a; //выводим в линию DATA текущий бит
Это пример из CVAVR всем известно что там есть такая фишка как " PORTB.0 ="," PORTC.4 =" и.т и.п а как его переделать под AVR STUDIO вить там пины портов назначаются по другому !?
Это в виду того, что макрос _BV(Pxy) отсутствует в других средах (типа IAR, Keyl и прочих). К примеру, на STM32 уже будет тяжко перенести. Придется править везде.
I am DX168B and this is my favourite forum on internet!
Точно, но вопрос был про студию.А пины лень было писать на телефоне
Так же можно сказать про тернарный оператор, тоже не везде есть его обработка.
А насчет макроса, так то можно сделать заголовочный файл - прокладку для облегчения переносимости. Неужели там нет макросов? Студия вроде как не сильно отступает от стандартов си.
Даже ЕЕПРОМ резервного слова нет, все только в макросах.
PS.Есть готовый проект для студии 5 с выводом на сдвиговый регистр.Я так понимаю этот код для этого нужен?
Если нужно могу скинуть.
vitalik_1984 писал(а):
Точно, но вопрос был про студию.А пины лень было писать на телефоне
Так же можно сказать про тернарный оператор, тоже не везде есть его обработка.
А насчет макроса, так то можно сделать заголовочный файл - прокладку для облегчения переносимости. Неужели там нет макросов? Студия вроде как не сильно отступает от стандартов си.
Даже ЕЕПРОМ резервного слова нет, все только в макросах.
Ну, можно и самому слепить этот макрос.
Я какбэ уже стараюсь писать код полностью переносимым, так как те или иные куски потом сгодятся в других проектах. Сокращает время разработки.
Как-то слепил 25 классов (С++) для работы с кое-каким оборудованием. Изначально, они предназначались для x86 (писалась софтина под вынь)
потом надо было научить МК работать с этим оборудованием. Взял исходники и заголовочники из MVSC 2008 и сунул в проект IAR.
Изменил только содержимое функций обмена с устройствами и индикации\обслуживания GUI (надо было вывести все на графический LCD и программные кнопки заменить на аппаратные)
Ну и лишнее тупо выкинул. Все закомпилировалось и заработало с полпинка.
Затрата времени на перенос - 2 часа.
vitalik_1984 писал(а):Неплохо бы пару комментов для сишников