Страница 111 из 160
Re: AVR studio в вопросах и ответах
Добавлено: Пн июн 06, 2016 05:29:21
Alexeyslav
Не поймет никак, поскольку в стандартном инклуднике эти дефайны определены и связаны с конкретными регистрами, что можно сделать самостоятельно и для ДРУГИХ регистров!
Re: AVR studio в вопросах и ответах
Добавлено: Пн июн 06, 2016 06:19:05
emax
так вот компилится
.def r16l = r16
.def r16h = r17
.macro ldwi
ldi @0l,low(@1)
ldi @0h,high(@1)
.endmacro
ldwi r16,0x1234
но это все регистры определить надо
Re: AVR studio в вопросах и ответах
Добавлено: Пн июн 06, 2016 10:11:54
Jack_A
Так то оно конечно, но для других регистровых пар уже работать не будет. Придется их всех (регистровых пар) определять. Тогда какой смысл в макросе?
Re: AVR studio в вопросах и ответах
Добавлено: Пн июн 06, 2016 12:30:55
Kavka
Может проще, таки, два регистра в макрос передать?
Во-первых, явно будет указано с чем работает макрос.
Во-вторых, регистры можно в разнобой передавать (в особо извращенских случаях

).
Re: AVR studio в вопросах и ответах
Добавлено: Пн июн 06, 2016 17:36:30
Jack_A
Дык теряется главное преимущество макроса - ленивость

-- один символ накалякал, а он его раздраконил на два ( и более )
Re: AVR studio в вопросах и ответах
Добавлено: Пн июн 06, 2016 22:31:20
Alexeyslav
Так вынеси определения всех регистров в отдельный инклуд, подключи его в начале программы и делов. Место не занимает, дополнительный функционал радует.
Re: AVR studio в вопросах и ответах
Добавлено: Вт июн 07, 2016 15:13:13
BEST-83154
вот тут вписан вольтметр,амперметр,ваттметр,таймер и разложения чисел
и мне хотелось бы видеть еще и замер емкости акб в А/Ч
кто может помогите!!!
Re: AVR studio в вопросах и ответах
Добавлено: Сб июн 11, 2016 20:31:44
Олегыч1
Приветствую уважаемые радиокоты. Практическое изучение программирования начал с программы Atmel Studio 6,0 . Если не ошибаюсь это и есть AVR studio. По аналогии с видеоуроком попытался скомпилировать файл (кнопкой Build) На что выскочила ошибка (прилагаю). Подскажите пожалуйста, что не так делаю...
========
С этим вопросом уже разобрался. Все дело было в названиях папок. Они должны быть на латиннице. Теперь другая проблема: в протеусе МК почему-то не работает по прошивке... не могу найти косяк, помогите пожалуйста. При этом указанный путь в протеусе на МК почему-то сам выставляется по умолчанию на другой... Прошивку прилагаю (файл hex).
Re: AVR studio в вопросах и ответах
Добавлено: Сб июн 11, 2016 22:26:02
CB1
Ваша прошивка работает в Proteus. Да и код написан верно. Когда задаете вопрос указывайте какой микроконтроллер используете.
Скинте свой проект в Proteus-е.
Re: AVR studio в вопросах и ответах
Добавлено: Сб июн 11, 2016 23:06:38
Олегыч1
МК Atmega8
Проект прилагаю
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 07:50:47
c717411
В цикле while должно быть так:
по ошибке - в путях видны крякозябры, уберите русские буквы из пути и имени файлов.
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 07:58:27
Олегыч1
c717411, этот момент по крякозябрам я уже уяснил, все исправил. Спасибо.

Но почему на данный момент (все нормально без ошибок компилируется) эта прошивка не заряжается в протеусе в атмегу8? Проект протеуса выложил пару сообщений назад по имени "1"
В цикле while должно быть так:
Код:
//Подать сигнал
PORTB = 0xFF
Но у меня так и есть там. Или что именно вы имеете в виду, не ставить точку с запятой в конце?
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 09:01:14
c717411
Олегыч1 писал(а): Но у меня так и есть там.
нет, у Вас там
ЗЫ: точку с запятой надо ставить, конечно )
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 11:54:31
CB1
Это я что то внимательно не посмотрел Ваш код.
С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);
}
}
Какой версией протеуса Вы пользуетесь? Какие видеоуроки смотрите?
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 13:16:38
Олегыч1
исправил. Все тоже самое

Видеоурок:
https://www.youtube.com/watch?v=u-iI6EDUtA4
Здесь кстати об этом упоминулось. Но у меня почему-то не получается запустить в протеусе свой МК по данному коду. Вернее видно, что код действует... Но светодиоды не горят. Не могу с землей понять как быть... Поставил батарейку, но светодиоды все равно не загораются...
Версия протеуса - 8
На всякий случай еще раз выложу конечный исправленный код
и проект протеуса по имени "2"
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 13:22:35
c717411
Все у Вас сделано теперь правильно и должно работать. Выкладывайте на будущее сразу в архиве проект протеуса, исходник и hex, ибо иногда лень или нечем компилировать.
При симуляции в протеусе резисторы в цепях диодов можно (даже нужно) не ставить, не надо загружать симулятор лишними деталями. Батарею тоже.
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 14:15:35
CB1
Попробуйте 7 версию Proteus, мне кажется что у автора видеоуроков то же седьмая и сделайте все как у автора и должно заработать. Не могу сказать точно, но может в 8 есть какие то отличия мешающие запустить проект.
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 14:26:11
Alexeyslav
Есть специальные цифровые резисторы. Но и это в протеусе без необходимости, там есть специальные логические пробники, выполняющие роль светодиодов.
Да, протеус моделирует своеобразно - состояние светодиодов фиксируется на момент события перерисовки экрана, которая происходит раз в 10 секунд примерно и какое состояние попадётся на момент перерисовки такое у него и будет до следующей - никаких полутонов от ШИМ-а а наблюдаемое беспорядочное моргание, поскольку внутреннее время симуляции является переменной величиной и постоянно меняется когда не хватает ресурсов для реального времени.
Из этого вытекает ещё одна причина по которой у вас схема может "не работать" - 1 секунда работы контроллера может запросто оказаться одной минутой(или вообще 30-ю минутами) в реальном времени симулятора из-за нехватки вычислительных ресурсов на симуляцию схемы - поэтому имейте за правило не использовать ЛИШНИХ деталей, особенно нелинейных как полупроводники, где это возможно используйте специально упрощённые модели компонентов - цифровой(digital) резистор для подтяжек и т.д.
Не уверен, но там кажется даже цифровые транзисторы есть.
Смотрите в строке состояния симулятора, там после запуска отображается внутреннее время симулируемой схемы, и если там бегут не секунды а десятые доли секунды или вообще миллисекунды - ваша схема слишком сложна для данного железа, нужен процессор помощнее но как правило это слабо помогает.
Если симуляция вообще не запускается, смотрите сообщения симулятора - обычно это признак проблемы в моделях или тонких настройках симуляции - модель не получается построить из-за отсутствия земли в изолированном участке схемы или симуляция начинается сразу с необходимости слишком малого шага по времени для обеспечения нужной точности в какой-то из моделей компонента используемого в схеме.
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 14:47:41
c717411
Alexeyslav писал(а):Да, протеус моделирует своеобразно - состояние светодиодов фиксируется на момент события перерисовки экрана, которая происходит раз в 10 секунд примерно и какое состояние попадётся на момент перерисовки такое у него и будет до следующей - никаких полутонов от ШИМ-а а наблюдаемое беспорядочное моргание, поскольку внутреннее время симуляции является переменной величиной и постоянно меняется когда не хватает ресурсов для реального времени.
не пишите ерунду. Прочитал раза три Ваш пост, какая-то словесная диарея.
Re: AVR studio в вопросах и ответах
Добавлено: Вс июн 12, 2016 18:19:22
CB1
В Poteus есть особенности в моделировании, он не всегда правильно и точно моделирует и это нужно учитывать. Конечно программы вроде той о которой мы говорили он моделирует правильно.