Страница 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 должно быть так:

Код: Выделить всё

//Подать сигнал
PORTB = 0xFF
по ошибке - в путях видны крякозябры, уберите русские буквы из пути и имени файлов.

Re: AVR studio в вопросах и ответах

Добавлено: Вс июн 12, 2016 07:58:27
Олегыч1
c717411, этот момент по крякозябрам я уже уяснил, все исправил. Спасибо. :wink: Но почему на данный момент (все нормально без ошибок компилируется) эта прошивка не заряжается в протеусе в атмегу8? Проект протеуса выложил пару сообщений назад по имени "1"
В цикле while должно быть так:
Код:
//Подать сигнал
PORTB = 0xFF
Но у меня так и есть там. Или что именно вы имеете в виду, не ставить точку с запятой в конце?

Re: AVR studio в вопросах и ответах

Добавлено: Вс июн 12, 2016 09:01:14
c717411
Олегыч1 писал(а): Но у меня так и есть там.
нет, у Вас там

Код: Выделить всё

//Подать сигнал
DDRB = 0xFF;
ЗЫ: точку с запятой надо ставить, конечно )

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 есть особенности в моделировании, он не всегда правильно и точно моделирует и это нужно учитывать. Конечно программы вроде той о которой мы говорили он моделирует правильно.