AVR studio в вопросах и ответах
Re: AVR studio 4 в вопросах и ответах
MAP-файл более 2800 строк, Ctrl-F не выход. Да еще прога в нескольких модификациях под чуть разное железо. И теперь места в памяти под новые доработки не хватает. Надо оптимизировать.
Да, пора уходить от асма, осваивать С.
А вот кто подскажет по опыту, прога на 32кбайта на Ассемблере сколько флеш-памяти займет, если ее на С переписать? Ну всреднем?
Да, пора уходить от асма, осваивать С.
А вот кто подскажет по опыту, прога на 32кбайта на Ассемблере сколько флеш-памяти займет, если ее на С переписать? Ну всреднем?
- Реклама
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Мы откуда знаем как вы умеете код писать...
Может в три раза больше занять...
А может и наоборот.
Может в три раза больше занять...
А может и наоборот.
В поисках истины человек развивается.
Re: AVR studio 4 в вопросах и ответах
vitalik_1984 писал(а):Мы откуда знаем как вы умеете код писать...![]()
Я понимаю бестолковость вопроса. Но при прочих равных, если сферический программист качественно пишет под асм и С, оптимизируя по максимуму в меру сил, насколько будут отличаться объемом программы? Мне нужно ваше субъективное оценочное мнение. Может, кто-то переводил Асм программы на С и имеет личный опыт?
Re: AVR studio 4 в вопросах и ответах
Какую вы цель преследуете? Для чего РАБОТАЮЩУЮ, НАПИСАННУЮ ГРАМОТНЫМ ПРОГРАММИСТОМ, ОПТИМИЗИРОВАННУЮ программу переписывать? Самообучение + самоутверждение?Dropick писал(а):Мне нужно ваше субъективное оценочное мнение. Может, кто-то переводил Асм программы на С и имеет личный опыт?
Если есть конкретная задача -решайте ее, и не морочьте себе (и другим) голову с выбором языка программирования.
С уважением,
Виктор.
Виктор.
Re: AVR studio 4 в вопросах и ответах
ut1wpr писал(а):Какую вы цель преследуете?
Цель проста. Прибор регулярно требует добавления новых функций, доработок. Программа разрослась настолько, что доработки ее на асме требуют все больше сил. А свободной памяти на кристале немного осталось. Поэтому объем кода критичен. Брать следующий проц из линейки - это по новой сертифицировать прибор. Вот и прошу совета. Хотелось бы ответ по существу.
- Реклама
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
1 причем тут студия 4?
2 А добавление функций не требует сертификации?
3 сложно оценивать кто лучше справится, оптимизатор компилятора или человек.
Для быстрой разработки продукта используется си, для быстрой, красивой, лаконичной работы асм.Но времени тратится на порядок больше.
В компиляторе си штампы, в асме творчество.Выбирать вам.
2 А добавление функций не требует сертификации?
3 сложно оценивать кто лучше справится, оптимизатор компилятора или человек.
Для быстрой разработки продукта используется си, для быстрой, красивой, лаконичной работы асм.Но времени тратится на порядок больше.
В компиляторе си штампы, в асме творчество.Выбирать вам.
В поисках истины человек развивается.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
vitalik_1984 писал(а):В компиляторе си штампы, в асме творчество.
Все не мог подобрать нужных слов. Вот оно!
Docendo discimus
- eess9
- Вымогатель припоя
- Сообщения: 672
- Зарегистрирован: Ср фев 29, 2012 01:58:32
- Откуда: Харьков, Украина
Re: AVR studio 4 в вопросах и ответах
Помогите плиз!!! ATTiny13 выдает 36кГц со скважностью 50% при помощи режима CTC таймера. Мне надо посчитать количество периодов. Наверное, это лучше всего сделать прерыванием по совпадению с регистром сравнения. Только это самое прерывание никак запускаться не хочет. Код ниже, пока в прерывании tiny13 просто должна дергать ножкой.
#include <avr/io.h>
#include <avr/interrupt.h>
volatile int vect=0;
ISR(TIM0_COMPA_vect)
{
if (vect == 0)
{
PORTB|=1<<PB3;
vect=1;
}
else
{
PORTB|=0<<PB3;
vect=0;
}
}
int main()
{
DDRB=0b11011111;
PORTB=0x00;
TCCR0A=0b01000010;
TCCR0B=0b00000000;
OCR0A=0x40;
TCNT0=0x00;
TIMSK0=0b00001000;
GTCCR=1<<PSR10;
sei();
TCCR0B=0b00000001;
return 0;
}
#include <avr/io.h>
#include <avr/interrupt.h>
volatile int vect=0;
ISR(TIM0_COMPA_vect)
{
if (vect == 0)
{
PORTB|=1<<PB3;
vect=1;
}
else
{
PORTB|=0<<PB3;
vect=0;
}
}
int main()
{
DDRB=0b11011111;
PORTB=0x00;
TCCR0A=0b01000010;
TCCR0B=0b00000000;
OCR0A=0x40;
TCNT0=0x00;
TIMSK0=0b00001000;
GTCCR=1<<PSR10;
sei();
TCCR0B=0b00000001;
return 0;
}
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Меняем для начала
if (vect == 0)
{
PORTB|=1<<PB3;
vect=1;
}
else
{
PORTB|=0<<PB3; <<<---тут ошибка нужно PORTB&=~(1<<PB3);
vect=0;
}
на
Прерывание то выполняется, и светодиод моргает, только вы этого своим глазом на такой частоте не выдите.
if (vect == 0)
{
PORTB|=1<<PB3;
vect=1;
}
else
{
PORTB|=0<<PB3; <<<---тут ошибка нужно PORTB&=~(1<<PB3);
vect=0;
}
на
Код: Выделить всё
PORTB^=(1<<PB3); Прерывание то выполняется, и светодиод моргает, только вы этого своим глазом на такой частоте не выдите.
В поисках истины человек развивается.
- eess9
- Вымогатель припоя
- Сообщения: 672
- Зарегистрирован: Ср фев 29, 2012 01:58:32
- Откуда: Харьков, Украина
Re: AVR studio 4 в вопросах и ответах
Спасибо большое. С управлением портом я действительно лопухнулся. Но проблема была не в этом. Просто программа заканчивалась раньше, чем наступало прерывание и контроллер вис. В конец main() я добавил бесконечный цикл while() и все работает 
- eess9
- Вымогатель припоя
- Сообщения: 672
- Зарегистрирован: Ср фев 29, 2012 01:58:32
- Откуда: Харьков, Украина
Re: AVR studio 4 в вопросах и ответах
Объясните пожалуйста начинающему что означает запись
если data 2-х байтное число
Код: Выделить всё
if ((data&0x8000)==0x00)Re: AVR studio 4 в вопросах и ответах
Анализ состояния бита №15 в этом числе.eess9 писал(а):Объясните пожалуйста начинающему что означает записьесли data 2-х байтное числоКод: Выделить всё
if ((data&0x8000)==0x00)
С уважением,
Виктор.
Виктор.
-
____Eugene____
- Открыл глаза
- Сообщения: 47
- Зарегистрирован: Вт авг 31, 2010 18:26:35
Re: AVR studio 4 в вопросах и ответах
Доброго времени суток .Подскажите что за ошибка и как от нее сбавится
'atmega8a' supported for assembler only
'atmega8a' supported for assembler only
Re: AVR studio 4 в вопросах и ответах
поставь studio 4.19 и используй ассемблер2 , а какой из симуляторов ... склерозз...
да и про ограничения симулятора относительно конкретной ИС читать не забывай...

да и про ограничения симулятора относительно конкретной ИС читать не забывай...

-
____Eugene____
- Открыл глаза
- Сообщения: 47
- Зарегистрирован: Вт авг 31, 2010 18:26:35
Re: AVR studio 4 в вопросах и ответах
BOB51 писал(а):поставь studio 4.19 и используй ассемблер2 , а какой из симуляторов ... склерозз...
да и про ограничения симулятора относительно конкретной ИС читать не забывай...
Писал на си
ассемблер2 - ето что?
да и про ограничения симулятора относительно конкретной ИС читать не забывай...
Где почитать?
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: AVR studio 4 в вопросах и ответах
____Eugene____ писал(а):Где почитать?
В хэлпе Студии, естессно.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- diim
- Нашел транзистор. Понюхал.
- Сообщения: 168
- Зарегистрирован: Сб фев 16, 2008 04:35:19
- Откуда: г.Тольятти
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
приветствую всех! подскажте пожалуйста что означает эта строчка при программировании фьюзов Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 65 ms а то контроллер отказывается читаться!
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
внешний низко частотный кристалл.время запуска после спящего режима/сброса 1кило цикл/14 циклов + 65 миллисекунд
так что давайте подключайте внешний кристалл на 1мГц и вперед.
так что давайте подключайте внешний кристалл на 1мГц и вперед.
В поисках истины человек развивается.
- diim
- Нашел транзистор. Понюхал.
- Сообщения: 168
- Зарегистрирован: Сб фев 16, 2008 04:35:19
- Откуда: г.Тольятти
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
спасибо vitalik_1984 за ответ! короче к чему я это всё! проблема у меня в следующем:
собрал я некое устройство на меге8 все подключил, а мега возьми да и сгори!(накосячил в разводке
) не долго думая я исправил печатку, а вот меги8 у меня больше не было, но была мега48. ну я её и запаял они совместимы по выводам. но т.к. программа была написана для 8й меги я её портировал на 48ю. и все было хорошо, подключил программатор контроллер прочитался все отлично! но... мне нужно было сконфигурировать фьюзы на 8мгц короче я все сделал как на рис1 а АВРстудия при программировании не поменяла контроллер на мегу48(надо оказывается вручную это делать
) и получилось что я 48ю мегу прошил фьюзами от меги8! контроллел тут же перестал определяться! и какие фьюзы там выставились хрен знает! но если взять значение LOW от 8й меги и прописать в 48 то выходит как на рис2
это и есть фьюзы которые ща у меня прошиты???
собрал я некое устройство на меге8 все подключил, а мега возьми да и сгори!(накосячил в разводке
это и есть фьюзы которые ща у меня прошиты???
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********
- diim
- Нашел транзистор. Понюхал.
- Сообщения: 168
- Зарегистрирован: Сб фев 16, 2008 04:35:19
- Откуда: г.Тольятти
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
а каким должен быть "внешний низко частотный кристалл" я имею в виду от скольки и до скольки мгц кристал считается низкочастотным?
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********


