Но там могло быть и 0r, но такого нигде я не видел.
А что за заголовочник? Из комплекта или сторонний?
это древняя ошибка Атмела - они назвали бит в регистре OR... с тех пор уже переименовали, но заголовочники так и остались....DX168B писал(а):or - является командой. По этому и ругается.
Но там могло быть и 0r, но такого нигде я не видел.
А что за заголовочник? Из комплекта или сторонний?

...И?Alvasin писал(а):AVR Studio ® 4 является свободной интегрированной среды разработки (IDE) для написания и отладки AVR приложений в Windows 98/XP/ME/2000 и Windows NT environments.AVR Studio 4 предоставляет инструмент управления проектами, редактор исходного файла, тренажер и В-Эмулятор интерфейс для мощных AVR 8-разрядных RISC семейство microcontrollers.It функций, интегрированных AVR GCC компилятор поддержку, расширенные данные и программы точки останова, ОСРВ плагина и окно системы стыковки.
Может это реклама?Gudd-Head писал(а):...И?Alvasin писал(а):AVR Studio ® 4 является свободной интегрированной среды разработки (IDE) для написания и отладки AVR приложений в Windows 98/XP/ME/2000 и Windows NT environments.AVR Studio 4 предоставляет инструмент управления проектами, редактор исходного файла, тренажер и В-Эмулятор интерфейс для мощных AVR 8-разрядных RISC семейство microcontrollers.It функций, интегрированных AVR GCC компилятор поддержку, расширенные данные и программы точки останова, ОСРВ плагина и окно системы стыковки.
Код: Выделить всё
#define motor_0 PORTA, 0
#define _off(port, bit) port &= (~(1 << bit))
Ну так вот и надо было делать как там. А именно - двойной проброс.mbzyab писал(а):Ситуация следующая: попытался заюзать что-то вроде макросов Волкова, а они не компилятся (непонятно почему).
Правильно ругается. Макрос _off таки да требует два аргумента, а ему подсунуди один - слово motor_0mbzyab писал(а):По идее, когда я пишу _off(motor_0); - вроде бы должно замениться на PORTA &= (~(1<<0));
Но нифига, компилятор ругается: "../motor_ver_3.c:146:42: error: macro "_off" requires 2 arguments, but only 1 given"
Если написать _off(PORTA, 0) - работает. Непонятно
Код: Выделить всё
#define _off(port,bit) port &= ~(1<<(bit)) /* тут тоже нужно сложнее, лучше в do { } while(0) взять, но это отдельная тема */
#define off(P) _off(P)
#define motor_0 PORTA,0Код: Выделить всё
off(motor_0);Код: Выделить всё
_off( PORTA,0);Видать я про Волковские макросы не из самого лучшего источника узнал, про двойной проброс там ни слова не было (или я очень невнимательно читал). Ну или это считается совершенно очевиднымavreal писал(а):mbzyab писал(а): Поэтому-то в Воловских макросах (кстати, скоро 12 лет со дня их первой публикации в RU.EMBEDDED), как и во всех подобных случаях, делается двойной пробросКод: Выделить всё
#define _off(port,bit) port &= ~(1<<(bit)) /* тут тоже нужно сложнее, лучше в do { } while(0) взять, но это отдельная тема */ #define off(P) _off(P) #define motor_0 PORTA,0
Насколько я понял, никак — 910 не поддерживается.Necroteeth писал(а):подскажите, пожалуйста, как в AVRStudio прошивать контроллер с помощью программатора USB AVR910 от Protossа?
Как это нету? http://radiokot.ru/forum/viewtopic.php?f=20&t=43854nopal писал(а):Т.к нету темы по AVR Studio 5
до обеда проверил - работает. тупо через Tools->AVRProg. просто вилку в программируемый МК неправильно воткнул и разное питание было у программатора и МК-жертвы. вот и не коннектился.Gudd-Head писал(а):Насколько я понял, никак — 910 не поддерживается.Necroteeth писал(а):подскажите, пожалуйста, как в AVRStudio прошивать контроллер с помощью программатора USB AVR910 от Protossа?