AVR studio в вопросах и ответах
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Не поймет никак, поскольку в стандартном инклуднике эти дефайны определены и связаны с конкретными регистрами, что можно сделать самостоятельно и для ДРУГИХ регистров!
Re: AVR studio в вопросах и ответах
так вот компилится
.def r16l = r16
.def r16h = r17
.macro ldwi
ldi @0l,low(@1)
ldi @0h,high(@1)
.endmacro
ldwi r16,0x1234
но это все регистры определить надо
.def r16l = r16
.def r16h = r17
.macro ldwi
ldi @0l,low(@1)
ldi @0h,high(@1)
.endmacro
ldwi r16,0x1234
но это все регистры определить надо
Re: AVR studio в вопросах и ответах
Так то оно конечно, но для других регистровых пар уже работать не будет. Придется их всех (регистровых пар) определять. Тогда какой смысл в макросе?
Re: AVR studio в вопросах и ответах
Может проще, таки, два регистра в макрос передать?
Во-первых, явно будет указано с чем работает макрос.
Во-вторых, регистры можно в разнобой передавать (в особо извращенских случаях
).
Во-первых, явно будет указано с чем работает макрос.
Во-вторых, регистры можно в разнобой передавать (в особо извращенских случаях
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: AVR studio в вопросах и ответах
Дык теряется главное преимущество макроса - ленивость
-- один символ накалякал, а он его раздраконил на два ( и более )
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Так вынеси определения всех регистров в отдельный инклуд, подключи его в начале программы и делов. Место не занимает, дополнительный функционал радует.
-
BEST-83154
- Прорезались зубы
- Сообщения: 218
- Зарегистрирован: Ср дек 02, 2015 15:06:01
Re: AVR studio в вопросах и ответах
вот тут вписан вольтметр,амперметр,ваттметр,таймер и разложения чисел
и мне хотелось бы видеть еще и замер емкости акб в А/Ч
кто может помогите!!!
и мне хотелось бы видеть еще и замер емкости акб в А/Ч
кто может помогите!!!
- Вложения
-
- 45.c
- (5.22 КБ) 257 скачиваний
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
Приветствую уважаемые радиокоты. Практическое изучение программирования начал с программы Atmel Studio 6,0 . Если не ошибаюсь это и есть AVR studio. По аналогии с видеоуроком попытался скомпилировать файл (кнопкой Build) На что выскочила ошибка (прилагаю). Подскажите пожалуйста, что не так делаю...
========
С этим вопросом уже разобрался. Все дело было в названиях папок. Они должны быть на латиннице. Теперь другая проблема: в протеусе МК почему-то не работает по прошивке... не могу найти косяк, помогите пожалуйста. При этом указанный путь в протеусе на МК почему-то сам выставляется по умолчанию на другой... Прошивку прилагаю (файл hex).
========
С этим вопросом уже разобрался. Все дело было в названиях папок. Они должны быть на латиннице. Теперь другая проблема: в протеусе МК почему-то не работает по прошивке... не могу найти косяк, помогите пожалуйста. При этом указанный путь в протеусе на МК почему-то сам выставляется по умолчанию на другой... Прошивку прилагаю (файл hex).
- Вложения
-
- GccApplication1.hex
- (447 байт) 135 скачиваний
-
- сам код.c
- (601 байт) 254 скачивания
-
- Output-Build.txt
- (981 байт) 112 скачиваний
Re: AVR studio в вопросах и ответах
Ваша прошивка работает в Proteus. Да и код написан верно. Когда задаете вопрос указывайте какой микроконтроллер используете.
Скинте свой проект в Proteus-е.
Скинте свой проект в Proteus-е.
Все гениальное - просто
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
МК Atmega8
Проект прилагаю
Проект прилагаю
- Вложения
-
- 1.rar
- (20.03 КБ) 133 скачивания
Re: AVR studio в вопросах и ответах
В цикле while должно быть так:
по ошибке - в путях видны крякозябры, уберите русские буквы из пути и имени файлов.
Код: Выделить всё
//Подать сигнал
PORTB = 0xFF
по ошибке - в путях видны крякозябры, уберите русские буквы из пути и имени файлов.
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
c717411, этот момент по крякозябрам я уже уяснил, все исправил. Спасибо.
Но почему на данный момент (все нормально без ошибок компилируется) эта прошивка не заряжается в протеусе в атмегу8? Проект протеуса выложил пару сообщений назад по имени "1"
Но у меня так и есть там. Или что именно вы имеете в виду, не ставить точку с запятой в конце?В цикле while должно быть так:
Код:
//Подать сигнал
PORTB = 0xFF
Re: AVR studio в вопросах и ответах
Олегыч1 писал(а): Но у меня так и есть там.
нет, у Вас там
Код: Выделить всё
//Подать сигнал
DDRB = 0xFF;ЗЫ: точку с запятой надо ставить, конечно )
Re: AVR studio в вопросах и ответах
Это я что то внимательно не посмотрел Ваш код. С717411 правильно заметил, вот ваш код, который вы скидывали раньше:
А должно быть
Какой версией протеуса Вы пользуетесь? Какие видеоуроки смотрите?
Код: Выделить всё
int main(void)
{
preset();
while(1)
{
//Подать сигнал
DDRB = 0xFF;
//Выдержать время
_delay_ms(1000);
//Убрать сигнал
PORTB = 0x00;
//Выдержать время
_delay_ms(1500);
}
} А должно быть
Код: Выделить всё
int main(void)
{
preset();
while(1)
{
//Подать сигнал
PORTB = 0xFF;
//Выдержать время
_delay_ms(1000);
//Убрать сигнал
PORTB = 0x00;
//Выдержать время
_delay_ms(1500);
}
} Какой версией протеуса Вы пользуетесь? Какие видеоуроки смотрите?
Все гениальное - просто
- Олегыч1
- Поставщик валерьянки для Кота
- Сообщения: 1941
- Зарегистрирован: Пт фев 27, 2015 20:57:08
- Откуда: Курск
Re: AVR studio в вопросах и ответах
исправил. Все тоже самое
Видеоурок:
https://www.youtube.com/watch?v=u-iI6EDUtA4
Здесь кстати об этом упоминулось. Но у меня почему-то не получается запустить в протеусе свой МК по данному коду. Вернее видно, что код действует... Но светодиоды не горят. Не могу с землей понять как быть... Поставил батарейку, но светодиоды все равно не загораются...
Версия протеуса - 8
На всякий случай еще раз выложу конечный исправленный код
и проект протеуса по имени "2"
https://www.youtube.com/watch?v=u-iI6EDUtA4
Здесь кстати об этом упоминулось. Но у меня почему-то не получается запустить в протеусе свой МК по данному коду. Вернее видно, что код действует... Но светодиоды не горят. Не могу с землей понять как быть... Поставил батарейку, но светодиоды все равно не загораются...
Версия протеуса - 8
На всякий случай еще раз выложу конечный исправленный код
и проект протеуса по имени "2"
- Вложения
-
- 2.rar
- (15.92 КБ) 136 скачиваний
-
- Исправленный код.c
- (561 байт) 251 скачивание
Re: AVR studio в вопросах и ответах
Все у Вас сделано теперь правильно и должно работать. Выкладывайте на будущее сразу в архиве проект протеуса, исходник и hex, ибо иногда лень или нечем компилировать.
При симуляции в протеусе резисторы в цепях диодов можно (даже нужно) не ставить, не надо загружать симулятор лишними деталями. Батарею тоже.
При симуляции в протеусе резисторы в цепях диодов можно (даже нужно) не ставить, не надо загружать симулятор лишними деталями. Батарею тоже.
Re: AVR studio в вопросах и ответах
Попробуйте 7 версию Proteus, мне кажется что у автора видеоуроков то же седьмая и сделайте все как у автора и должно заработать. Не могу сказать точно, но может в 8 есть какие то отличия мешающие запустить проект.
Все гениальное - просто
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Есть специальные цифровые резисторы. Но и это в протеусе без необходимости, там есть специальные логические пробники, выполняющие роль светодиодов.
Да, протеус моделирует своеобразно - состояние светодиодов фиксируется на момент события перерисовки экрана, которая происходит раз в 10 секунд примерно и какое состояние попадётся на момент перерисовки такое у него и будет до следующей - никаких полутонов от ШИМ-а а наблюдаемое беспорядочное моргание, поскольку внутреннее время симуляции является переменной величиной и постоянно меняется когда не хватает ресурсов для реального времени.
Из этого вытекает ещё одна причина по которой у вас схема может "не работать" - 1 секунда работы контроллера может запросто оказаться одной минутой(или вообще 30-ю минутами) в реальном времени симулятора из-за нехватки вычислительных ресурсов на симуляцию схемы - поэтому имейте за правило не использовать ЛИШНИХ деталей, особенно нелинейных как полупроводники, где это возможно используйте специально упрощённые модели компонентов - цифровой(digital) резистор для подтяжек и т.д.
Не уверен, но там кажется даже цифровые транзисторы есть.
Смотрите в строке состояния симулятора, там после запуска отображается внутреннее время симулируемой схемы, и если там бегут не секунды а десятые доли секунды или вообще миллисекунды - ваша схема слишком сложна для данного железа, нужен процессор помощнее но как правило это слабо помогает.
Если симуляция вообще не запускается, смотрите сообщения симулятора - обычно это признак проблемы в моделях или тонких настройках симуляции - модель не получается построить из-за отсутствия земли в изолированном участке схемы или симуляция начинается сразу с необходимости слишком малого шага по времени для обеспечения нужной точности в какой-то из моделей компонента используемого в схеме.
Да, протеус моделирует своеобразно - состояние светодиодов фиксируется на момент события перерисовки экрана, которая происходит раз в 10 секунд примерно и какое состояние попадётся на момент перерисовки такое у него и будет до следующей - никаких полутонов от ШИМ-а а наблюдаемое беспорядочное моргание, поскольку внутреннее время симуляции является переменной величиной и постоянно меняется когда не хватает ресурсов для реального времени.
Из этого вытекает ещё одна причина по которой у вас схема может "не работать" - 1 секунда работы контроллера может запросто оказаться одной минутой(или вообще 30-ю минутами) в реальном времени симулятора из-за нехватки вычислительных ресурсов на симуляцию схемы - поэтому имейте за правило не использовать ЛИШНИХ деталей, особенно нелинейных как полупроводники, где это возможно используйте специально упрощённые модели компонентов - цифровой(digital) резистор для подтяжек и т.д.
Не уверен, но там кажется даже цифровые транзисторы есть.
Смотрите в строке состояния симулятора, там после запуска отображается внутреннее время симулируемой схемы, и если там бегут не секунды а десятые доли секунды или вообще миллисекунды - ваша схема слишком сложна для данного железа, нужен процессор помощнее но как правило это слабо помогает.
Если симуляция вообще не запускается, смотрите сообщения симулятора - обычно это признак проблемы в моделях или тонких настройках симуляции - модель не получается построить из-за отсутствия земли в изолированном участке схемы или симуляция начинается сразу с необходимости слишком малого шага по времени для обеспечения нужной точности в какой-то из моделей компонента используемого в схеме.
Re: AVR studio в вопросах и ответах
Alexeyslav писал(а):Да, протеус моделирует своеобразно - состояние светодиодов фиксируется на момент события перерисовки экрана, которая происходит раз в 10 секунд примерно и какое состояние попадётся на момент перерисовки такое у него и будет до следующей - никаких полутонов от ШИМ-а а наблюдаемое беспорядочное моргание, поскольку внутреннее время симуляции является переменной величиной и постоянно меняется когда не хватает ресурсов для реального времени.
не пишите ерунду. Прочитал раза три Ваш пост, какая-то словесная диарея.
Re: AVR studio в вопросах и ответах
В Poteus есть особенности в моделировании, он не всегда правильно и точно моделирует и это нужно учитывать. Конечно программы вроде той о которой мы говорили он моделирует правильно.
Все гениальное - просто
