Страница 226 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт окт 25, 2012 00:05:10
vitalik_1984
А в чем тогда проблемма в моем случае?
У вас таймер настроен на нормальную работу верх FFh (CVAVR довольно понятно комментарии пишет), а вы до прерывания по переполнению его сливаете.Вот ничего и не происходит.
Там есть режим специально для такого дела- верх OCRx Сейчас негде посмотреть вроде в режиме CTC выставляется.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт окт 25, 2012 02:45:39
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, а при таком коде не так (
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт окт 25, 2012 07:37:08
U235
mich91 писал(а):При таком значении VALUE=0x80 , выход должен быть 50%, тоисть 128 тактов 1, все остальные такты 0, а при таком коде не так (
Один из подводных камней выбранного способа заключается в том, что прерывания в определённые моменты следуют с очень малым периодом.
Предделитель таймера настроен на 8 тактов процессора. Таким образом, исходя из логики алгоритма, прерывания должны следовать через
8,
16,
32, 64, 128, 256, 512, 1024 такта.
Длительность обработчика прерывания скорее всего больше 32 тактов, поэтому происходят пропуски.
Вывод такой - смотрите, сколько тактов длится прерывание и настраивайте предделитель на б
ольшее значение.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт окт 25, 2012 21:43:40
mich91
Это капец, вчера пол ночи мучался, а сегодня просто перекинул всё тоже в ТАЙМЕР 1 , и заработало с первого раза...как это обьяснить, токо поменял OCR2 на OCR1A; ??? Что получается время исполнения прерываний у разных таймеров разное ?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт окт 26, 2012 10:21:00
BCluster
Другая разрядность таймера? Время между прерываниями больше, вот он и успевает...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт окт 26, 2012 14:08:22
signum
Доброго времени суток уважаемые форумчане. Кто может поделиться бутлоадером
для xmega128a1 у меня для загрузи используется rxd0, txd0, за ранние благодарю

Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт окт 26, 2012 14:53:07
mich91
BCluster писал(а):Другая разрядность таймера? Время между прерываниями больше, вот он и успевает...
Да, таймер в том что пашет 16 битный, но прикол в том что он считает тоже самое что и 8 битный, от 128 тактов к 1 такту,в коде ничего не менял, но вот в 16 битном пашет, а в 8 битном нет.. в чем прикол, не пойму..
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт окт 26, 2012 15:30:09
vitalik_1984
Значит делитель поменялся.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт окт 26, 2012 16:51:51
mich91
На 8 битном счетчике я ставил делитель как на 32, нак и на 8, эффект тот же...а на 16 битном работает при любом!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт окт 26, 2012 18:08:27
U235
mich91 писал(а):...а на 16 битном работает при любом!
Работает то в протеусе? А как дела обстоят с реальным устройством?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт окт 26, 2012 18:44:51
mich91
Делал и в реальном устройстве, тоже самое, что хочет то и выдаёт на выходе, цеплял светодиод,LCD16*2, и энкодером менял значение...Какая то мистика, можете сами попробовать вкинуть мой код в 8 битный и 16 битный таймер и посмотреть в протеусе.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн окт 29, 2012 11:33:52
Demon
Подскажите где можно найти описание как работать с модулем USB at90usbxxx
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт ноя 01, 2012 12:04:02
hd44780
Demon писал(а):Подскажите где можно найти описание как работать с модулем USB at90usbxxx
На сайте атмела полно примеров. Они, конечно, в CvAVR не пойдут (диалект Си другой, надо переделывать), но "как работать", понять можно ...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб ноя 03, 2012 00:38:15
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
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт ноя 08, 2012 12:08:51
mixon46
вот скачал CodeVision AVR написал програмку. как мне скомпилировать файл?
http://radiomix.wen.ru/534535.bmpи где мне взять эти все коды по которым пишется программа с описанием
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт ноя 08, 2012 12:32:40
hd44780
mixon46 писал(а):вот скачал CodeVision AVR написал програмку. как мне скомпилировать файл?
http://radiomix.wen.ru/534535.bmpи где мне взять эти все коды по которым пишется программа с описанием
Как компилить, обвёл. Оно у Вас неактивно

.
Зачем расширение .asm? Вы что на ассемблере написали? Не вводите компилятор в заблуждение. У него нет чувства юмора.
Если не знаете, с чего начать, можно использовать генератор начального кода. Хорошая вещь, не пренебрегайте им.
Я даже когда на WinAVR пишу, беру куски из этих "болванок".
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт ноя 08, 2012 13:02:12
mixon46
понял.. программа у меня плохая. компилировать не умеет. у меня еще есть AVR studio. там же язык ассемблер? как там компилировать? что такое генератор начального кода?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт ноя 08, 2012 13:25:36
hd44780
Программа нормальная. Кое в чём даже лучше WinAvr, ИМХО

.
Я на ней 10 лет пишу и компилировать она умеет, как ни странно

.
Ловите, изучайте. Hex в комплекте, как доказательсто того, что компилируется всё прекрасно.
В AVR Studio есть и Си и асм. Здесь - только Си.
И пишете Вы на Си, зачем Вам здесь ассемблер? Не валите всё в одну кучу...
Или Вы разницу не понимаете между ними?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт ноя 08, 2012 13:42:02
mixon46
вроде теперь понял. си это со скобочками а ассемблер нет

ну и команды отличаются?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт ноя 08, 2012 13:49:28
mixon46
ну создал файл. потом появилась кнопочка компиляции. ну выдает ошибку. а вообще походу ничего не понимаю