CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

А в чем тогда проблемма в моем случае?

У вас таймер настроен на нормальную работу верх FFh (CVAVR довольно понятно комментарии пишет), а вы до прерывания по переполнению его сливаете.Вот ничего и не происходит.
Там есть режим специально для такого дела- верх OCRx Сейчас негде посмотреть вроде в режиме CTC выставляется.
mich91
Встал на лапы
Сообщения: 95
Зарегистрирован: Ср ноя 02, 2011 15:11:49

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

Сообщение mich91 »

Вот что тут не правильно,не получается самому сделать BAM http://bsvi.ru/bam-alternativa-shimu/, не пойму никак, контролер мега 8 1мгц (((
Таблица счетов таймера для разрядов-
счет разряд
128 7
64 6
32 5
16 4
8 3
4 2
2 1
1 0

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

char temp=0x80;
char value=0b10000000;
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
  if(value & temp)//проверяем состояние бита в регистре,начиная с 7 разряда
    PORTB.4=1;//устанавливаем 1 в выход
   else
    PORTB.4=0;//устанавливаем 0 в выход
    OCR2=temp;  //устанавливаем счет таймера для определенного разряда
   temp>>=1;  // сдвигаем бит в разряде в младшую сторону тоисть с 128 делаем 64... 16 делаем 8...и тд
   if(!temp) //когда дошли ло последнего бита, начинаем всё с начала
   {         
    temp=0x80;
   
   }
}

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 125,000 kHz
// Mode: CTC top=OCR2
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x0A;
TCNT2=0x00;
OCR2=0x01;


TIMSK=0x80;


При таком значении VALUE=0x80 , выход должен быть 50%, тоисть 128 тактов 1, все остальные такты 0, а при таком коде не так (
Аватара пользователя
U235
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт фев 21, 2012 20:42:26
Откуда: Санкт-Петербург, Россия, Земля

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

Сообщение U235 »

mich91 писал(а):При таком значении VALUE=0x80 , выход должен быть 50%, тоисть 128 тактов 1, все остальные такты 0, а при таком коде не так (

Один из подводных камней выбранного способа заключается в том, что прерывания в определённые моменты следуют с очень малым периодом.

Предделитель таймера настроен на 8 тактов процессора. Таким образом, исходя из логики алгоритма, прерывания должны следовать через 8, 16, 32, 64, 128, 256, 512, 1024 такта.

Длительность обработчика прерывания скорее всего больше 32 тактов, поэтому происходят пропуски.

Вывод такой - смотрите, сколько тактов длится прерывание и настраивайте предделитель на большее значение.
А из наших труб идет необычный дым. Стой! Опасная зона! Работа мозга!...
mich91
Встал на лапы
Сообщения: 95
Зарегистрирован: Ср ноя 02, 2011 15:11:49

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

Сообщение mich91 »

Это капец, вчера пол ночи мучался, а сегодня просто перекинул всё тоже в ТАЙМЕР 1 , и заработало с первого раза...как это обьяснить, токо поменял OCR2 на OCR1A; ??? Что получается время исполнения прерываний у разных таймеров разное ?
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

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

Сообщение BCluster »

Другая разрядность таймера? Время между прерываниями больше, вот он и успевает...
Аватара пользователя
signum
Встал на лапы
Сообщения: 84
Зарегистрирован: Ср июн 22, 2011 20:41:57
Откуда: Харьков

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

Сообщение signum »

Доброго времени суток уважаемые форумчане. Кто может поделиться бутлоадером
для xmega128a1 у меня для загрузи используется rxd0, txd0, за ранние благодарю :beer:
mich91
Встал на лапы
Сообщения: 95
Зарегистрирован: Ср ноя 02, 2011 15:11:49

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

Сообщение mich91 »

BCluster писал(а):Другая разрядность таймера? Время между прерываниями больше, вот он и успевает...

Да, таймер в том что пашет 16 битный, но прикол в том что он считает тоже самое что и 8 битный, от 128 тактов к 1 такту,в коде ничего не менял, но вот в 16 битном пашет, а в 8 битном нет.. в чем прикол, не пойму..
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

Значит делитель поменялся.
mich91
Встал на лапы
Сообщения: 95
Зарегистрирован: Ср ноя 02, 2011 15:11:49

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

Сообщение mich91 »

На 8 битном счетчике я ставил делитель как на 32, нак и на 8, эффект тот же...а на 16 битном работает при любом!
Аватара пользователя
U235
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт фев 21, 2012 20:42:26
Откуда: Санкт-Петербург, Россия, Земля

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

Сообщение U235 »

mich91 писал(а):...а на 16 битном работает при любом!

Работает то в протеусе? А как дела обстоят с реальным устройством?
А из наших труб идет необычный дым. Стой! Опасная зона! Работа мозга!...
mich91
Встал на лапы
Сообщения: 95
Зарегистрирован: Ср ноя 02, 2011 15:11:49

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

Сообщение mich91 »

Делал и в реальном устройстве, тоже самое, что хочет то и выдаёт на выходе, цеплял светодиод,LCD16*2, и энкодером менял значение...Какая то мистика, можете сами попробовать вкинуть мой код в 8 битный и 16 битный таймер и посмотреть в протеусе.
Demon
Нашел транзистор. Понюхал.
Сообщения: 164
Зарегистрирован: Сб янв 20, 2007 20:44:33
Откуда: Из закаулков вашей души

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

Сообщение Demon »

Подскажите где можно найти описание как работать с модулем USB at90usbxxx
Аватара пользователя
hd44780
Встал на лапы
Сообщения: 132
Зарегистрирован: Вт июл 14, 2009 09:27:37
Откуда: Донецк, Украина

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

Сообщение hd44780 »

Demon писал(а):Подскажите где можно найти описание как работать с модулем USB at90usbxxx


На сайте атмела полно примеров. Они, конечно, в CvAVR не пойдут (диалект Си другой, надо переделывать), но "как работать", понять можно ...
ser009
Родился
Сообщения: 1
Зарегистрирован: Сб ноя 03, 2012 00:19:29

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

Сообщение ser009 »

Подскажите как на CodeVisionAvr вывести температуру c ds18b20 по UART с десятыми или сотыми (формата хх.х или хх.хх)
Вот моя строка. Не выводит :(

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

      temp[1]=ds18b20_temperature(&rom_code[1][0]);
     
      if (temp[1]>1000)
      {
      temp[1]=4096-temp[1];
      temp[1]=-temp[1];
      }
      printf("GET /objects/?object=SensorTemp1&op=m&m=TempChanged&t=%i.%u \r",temp[1],temp[1]%10); // процедура отправки температуры в формате temp=xx.x


Кусок кода был взят из примера с выводом на LCD через команду sprintf
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

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

Сообщение mixon46 »

вот скачал CodeVision AVR написал програмку. как мне скомпилировать файл?http://radiomix.wen.ru/534535.bmpи где мне взять эти все коды по которым пишется программа с описанием
Аватара пользователя
hd44780
Встал на лапы
Сообщения: 132
Зарегистрирован: Вт июл 14, 2009 09:27:37
Откуда: Донецк, Украина

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

Сообщение hd44780 »

mixon46 писал(а):вот скачал CodeVision AVR написал програмку. как мне скомпилировать файл?http://radiomix.wen.ru/534535.bmpи где мне взять эти все коды по которым пишется программа с описанием


Как компилить, обвёл. Оно у Вас неактивно :( .

Зачем расширение .asm? Вы что на ассемблере написали? Не вводите компилятор в заблуждение. У него нет чувства юмора.
Если не знаете, с чего начать, можно использовать генератор начального кода. Хорошая вещь, не пренебрегайте им.
Я даже когда на WinAVR пишу, беру куски из этих "болванок".
Вложения
534535.PNG
(86.91 КБ) 257 скачиваний
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

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

Сообщение mixon46 »

понял.. программа у меня плохая. компилировать не умеет. у меня еще есть AVR studio. там же язык ассемблер? как там компилировать? что такое генератор начального кода?
Вложения
hfdhh.PNG
(71.82 КБ) 396 скачиваний
Аватара пользователя
hd44780
Встал на лапы
Сообщения: 132
Зарегистрирован: Вт июл 14, 2009 09:27:37
Откуда: Донецк, Украина

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

Сообщение hd44780 »

Программа нормальная. Кое в чём даже лучше WinAvr, ИМХО :))) .
Я на ней 10 лет пишу и компилировать она умеет, как ни странно :))) .

Ловите, изучайте. Hex в комплекте, как доказательсто того, что компилируется всё прекрасно.

В AVR Studio есть и Си и асм. Здесь - только Си.
И пишете Вы на Си, зачем Вам здесь ассемблер? Не валите всё в одну кучу...

Или Вы разницу не понимаете между ними?
Вложения
CvAvrTest.zip
(4.29 КБ) 172 скачивания
534535.PNG
(86.87 КБ) 362 скачивания
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

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

Сообщение mixon46 »

вроде теперь понял. си это со скобочками а ассемблер нет :) ну и команды отличаются?
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

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

Сообщение mixon46 »

ну создал файл. потом появилась кнопочка компиляции. ну выдает ошибку. а вообще походу ничего не понимаю
Вложения
dfbdfhbd.PNG
(98.97 КБ) 393 скачивания
Ответить

Вернуться в «AVR»