AVR studio в вопросах и ответах
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: AVR studio в вопросах и ответах
В какой конкретно строке ? Вы привели кусок кода.
И какое сообщение ? Вы показали дизасм.
И какое сообщение ? Вы показали дизасм.
Re: AVR studio в вопросах и ответах
В строке
in_Volt = (temp_in_Volt/i);
Да это выходит окно дизасем, но почему?
Прошу простить начинающего, гугл не помог.
Создал тему по моему проекту(громко сказано
)
Так-как вырванное из контекста сложнее объяснить, да и вопросы будут еще.
in_Volt = (temp_in_Volt/i);
Да это выходит окно дизасем, но почему?
Прошу простить начинающего, гугл не помог.
Создал тему по моему проекту(громко сказано
Так-как вырванное из контекста сложнее объяснить, да и вопросы будут еще.
Последний раз редактировалось Addja Пн ноя 30, 2015 15:10:00, всего редактировалось 2 раза.
-
SergSV
- Прорезались зубы
- Сообщения: 230
- Зарегистрирован: Вс янв 26, 2014 22:40:17
- Откуда: Рязань
- Контактная информация:
Re: AVR studio в вопросах и ответах
Подскажите как сделать эмуляцию EEPROM в Atmel Studio 7 ? В Atmel Studio 6.2 был пункт в меню Tools, а в этой нет.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Re: AVR studio в вопросах и ответах
Подскажите пожалуйста, как указать симулятору Atmel studio 7, что Atmega48, вернее ее таймер работает от 32кгц кварца (асинхронно). Написал на асме код запуска таймера и в прерывании моргаю светодиодом (в железе работает), а вот в отладчике я в прерывание не попадаю - все висит с таймаутом. Хотя вот цикл проверки переписи из регистров с системным клоком в регистры таймера проходит, то есть впечатление такое ,что какая-то асинхронная частота в симуляторе все-же присутствует..
В общем непонятно как отлаживаться.. У меня проц либо спать будет либо в прерывании асинхронного таймера..
Системный клок от встроенного RC генератора.
Может тут и есть ответ но читать 100страниц сил нет.
В общем непонятно как отлаживаться.. У меня проц либо спать будет либо в прерывании асинхронного таймера..
Системный клок от встроенного RC генератора.
Может тут и есть ответ но читать 100страниц сил нет.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: AVR studio в вопросах и ответах
по-моему никак. используйте протеус для отладкиVAT писал(а):как указать симулятору Atmel studio 7, что Atmega48, вернее ее таймер работает от 32кгц кварца (асинхронно).
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: AVR studio в вопросах и ответах
Насколько я понимаю Протеус может симулировать схемы. Мне это не надо вовсе. Со схемами у меня проблем нет без симуляторов.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Протеус встраивается в студию и используется как удалённый отладчик!
Надо только найти к студии плагин ProteusVSM, кажется так. тогда становится доступна отладка практически как в реальной схеме со внешними связями и зависимостями, а не голый контроллер.
Надо только найти к студии плагин ProteusVSM, кажется так. тогда становится доступна отладка практически как в реальной схеме со внешними связями и зависимостями, а не голый контроллер.
Re: AVR studio в вопросах и ответах
Спасибо,
может надо попробовать,
но пока нашел выход - если выставить бит-флаг в TIFR в окне IO студии - то шагая например "по курсору" уже попадаешь в вектор прерывания.
может надо попробовать,
но пока нашел выход - если выставить бит-флаг в TIFR в окне IO студии - то шагая например "по курсору" уже попадаешь в вектор прерывания.
Re: AVR studio в вопросах и ответах
Решил приобщиться к великому таинству Atmel Studio.
Всегда кодил на CV.
И чот я в шоке прям. Тормозная она просто чудовищно, ну да ладно. Пофиг.
Но не нашел я ни одной книги. Есть конечно справка родная но она опять же тормозит и хрен там что найдешь.
Типа как прерывания оформлять, библиотечные функции типа вызов АЦП.
Есть ли вообще смысл на нее пересаживаться с СodeVision?
В общем то к нему никаких претензий, но хочется же чего-то нового.
Всегда кодил на CV.
И чот я в шоке прям. Тормозная она просто чудовищно, ну да ладно. Пофиг.
Но не нашел я ни одной книги. Есть конечно справка родная но она опять же тормозит и хрен там что найдешь.
Типа как прерывания оформлять, библиотечные функции типа вызов АЦП.
Есть ли вообще смысл на нее пересаживаться с СodeVision?
В общем то к нему никаких претензий, но хочется же чего-то нового.
Re: AVR studio в вопросах и ответах
С CV на атмелстудио имеет смысл переходить по двум причинам:
- вам хочется легального ПО за бесплатно
- вы используете STK600 или атмеловские дебаггеры
В противном случае особого смысла переходить не вижу
Хотя если не ошибаюсь контекстные подстановки в студии куда лучше сделаны, очень удобно
Да и сам редактор удобнее
Она не тормозная, ей нужно много ресурсов как и большинству продуктов от микрософт
Если ресурсов достаточно то ничего не тормозит
Обработчик прерываний описывается макросом ISR() из инклуда avr/interrupt.h
Описано все это в документации на avr-glibc, а не на студию
- вам хочется легального ПО за бесплатно
- вы используете STK600 или атмеловские дебаггеры
В противном случае особого смысла переходить не вижу
Хотя если не ошибаюсь контекстные подстановки в студии куда лучше сделаны, очень удобно
Да и сам редактор удобнее
Она не тормозная, ей нужно много ресурсов как и большинству продуктов от микрософт
Если ресурсов достаточно то ничего не тормозит
Обработчик прерываний описывается макросом ISR() из инклуда avr/interrupt.h
Описано все это в документации на avr-glibc, а не на студию
Re: AVR studio в вопросах и ответах
Добрый день,
если я в редакторе Атмелстудии 7 забиваю данные во флеш - все в порядке - они там видны.
Если то же самое я хочу вбить в Епром - там ничего не появляется, в Епроме?
вот типа такого:
.eseg
name:
.db "hello"
.db 0x55
Компилятор не ругается.. Что я делаю не так?
если я в редакторе Атмелстудии 7 забиваю данные во флеш - все в порядке - они там видны.
Если то же самое я хочу вбить в Епром - там ничего не появляется, в Епроме?
вот типа такого:
.eseg
name:
.db "hello"
.db 0x55
Компилятор не ругается.. Что я делаю не так?
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Где не появляется? В симуляторе студии? Это надо отдельно разговаривать с симулятором, он там своеобразный... может даже, ему необходимо указывать файл .EEP чтобы он его правильно подгружал.
Если это надо для отладки... поместите в начало программы нехитрый алгоритм, который переносит из ФЛЕШа некий объём данных в EEPROM, и отлаживайте. Костыль, но проблему решит если не найдёте других способов.
Если это надо для отладки... поместите в начало программы нехитрый алгоритм, который переносит из ФЛЕШа некий объём данных в EEPROM, и отлаживайте. Костыль, но проблему решит если не найдёте других способов.
Re: AVR studio в вопросах и ответах
Ну да, в принципе вывернутся можно, но.. что-то я не помню таких проблем 15 лет назад когда я последний раз что-то программировал на 2313..
Re: AVR studio в вопросах и ответах
Доброй ночи, коты.
Подскажите, есть ли альтернатива "sprintf"? Случай такой: (переменная типа int)
Уж больно грузит ЦП у меги8, если верить протеусу порядка 80%. До использования "sprintf" , загрузка МК была порядка 50-60%.
В железе ещё не смотрел, как себя поведёт, только собираюсь за РЭ в магазин.
Да и вообще, 80% это не сильно ли большая загрузка для МК ?
Подскажите, есть ли альтернатива "sprintf"? Случай такой: (переменная типа int)
Код: Выделить всё
{sprintf(lcd_buffer,"T1=%+i\xdf ",temp[0]);
lcd_gotoxy(0,2);
lcd_puts(lcd_buffer);}Уж больно грузит ЦП у меги8, если верить протеусу порядка 80%. До использования "sprintf" , загрузка МК была порядка 50-60%.
В железе ещё не смотрел, как себя поведёт, только собираюсь за РЭ в магазин.
Да и вообще, 80% это не сильно ли большая загрузка для МК ?
выше головы не прыгнешь - ниже зад**цы не сядешь.
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: AVR studio в вопросах и ответах
Mon писал(а):Доброй ночи, коты.
Подскажите, есть ли альтернатива "sprintf"? Уж больно грузит ЦП у меги8, ...
На просторах инета видел такой код:
Код: Выделить всё
char *Byte2Str(unsigned char byte)
{
static char buf[4];
char *s = &(buf[3]);
do {
*--s = '0' + (byte % 10);
} while (byte /= 10);
return(s);
}Доработать до signed не сложно, не так ли?
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: AVR studio в вопросах и ответах
Начиная вот отсюда посмотрите следующие пару страниц, может что интересное найдете.
Если конкретнее, вот решение раз, вот два.
Вот более подробное исследование.
Если конкретнее, вот решение раз, вот два.
Вот более подробное исследование.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Что значит грузит на 80%? Контроллер однозадачный, и если не использовать команду SLEEP он всегда загружен на 100%, а то что сообщает протеус это загрузка центрального процессора(скорей всего одного из его ядер, вроде протеус еще не научили использовать несколько ядер под задачу симуляции) хоста, выделенного под симуляцию. И означает это лишь то что симуляция еще возможна в реальном времени.
Лучше просто измерьте время работы функции, установив на порту уровень перед вызовом и сбросив после, потом посмотрев сигнал в симуляторе на указанной ножке можно сделать вывод о времени выполнения и вообще насколько всё плохо.
Лучше просто измерьте время работы функции, установив на порту уровень перед вызовом и сбросив после, потом посмотрев сигнал в симуляторе на указанной ножке можно сделать вывод о времени выполнения и вообще насколько всё плохо.
Re: AVR studio в вопросах и ответах
Атмел студио 7. АТмега48PA
Если включаешь SLEEP моду (в частности режим idle) - симулятор не выходит из сна в прерывание UART. Бит устанавливаю - игнор. Не входит в прерывание. данные в регистр данных поместить тоже не удается. Хотя этот кусок работает в железе..
Мля как коммуникации отлаживать? Даже если отлаживать в актив моде - то непонятно как в ресивер данные загонять..
Мне на самом деле не IDLE, а Power safe нужен по потреблению, но UART там не тактируется, хотя прерывания в принципе разрешены. Придется как-то выкручиваться переводя из power safe в idle при появлении активности на ноге ресивера.. изврат.
Если включаешь SLEEP моду (в частности режим idle) - симулятор не выходит из сна в прерывание UART. Бит устанавливаю - игнор. Не входит в прерывание. данные в регистр данных поместить тоже не удается. Хотя этот кусок работает в железе..
Мля как коммуникации отлаживать? Даже если отлаживать в актив моде - то непонятно как в ресивер данные загонять..
Мне на самом деле не IDLE, а Power safe нужен по потреблению, но UART там не тактируется, хотя прерывания в принципе разрешены. Придется как-то выкручиваться переводя из power safe в idle при появлении активности на ноге ресивера.. изврат.
Re: AVR studio в вопросах и ответах
Alexeyslav писал(а):Что значит грузит на 80%?
Вот что это значит (скрин во вложениях). Различные значения.
Sleep, не подходит из-за постоянного цикла опроса (считывание значений с ds1307 и 4-х ds18b20) при этом вывод на лсд
COKPOWEHEU писал(а):Вот более подробное исследование.
Вот здесь есть такая utoa,ultoa. Говорят - что она получше работает чем sprintf.
- Вложения
-
- загрузка ЦП.JPG
- (21.96 КБ) 277 скачиваний
выше головы не прыгнешь - ниже зад**цы не сядешь.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio в вопросах и ответах
Когда это SLEEP мешал постоянному циклу опроса? Но он вообще нужен для экономии энергии... если у вас каждую секунду опрашиваются датчики то смысла спать и правда не видно.
На скринах вижу только загрузку центрального процессора компьютера и ничего больше. Это то сколько процессорного времени симулятор забирает у ядра процессора хост-компьютера на котором работает, и никакого отношения к контроллеру не имеет, кроме того ресурсы тратятся еще и на симуляцию всех элементов схемы.
И вообще эти цифры очень условны, способ измерения "загрузки процессора" в особенности тот что показывает диспетчер задач слишком груб и есть даже демки которые с легкостью наглым образом могут его обманывать.
На скринах вижу только загрузку центрального процессора компьютера и ничего больше. Это то сколько процессорного времени симулятор забирает у ядра процессора хост-компьютера на котором работает, и никакого отношения к контроллеру не имеет, кроме того ресурсы тратятся еще и на симуляцию всех элементов схемы.
И вообще эти цифры очень условны, способ измерения "загрузки процессора" в особенности тот что показывает диспетчер задач слишком груб и есть даже демки которые с легкостью наглым образом могут его обманывать.