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

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 8
Зарегистрирован: Вс сен 14, 2008 23:18:09

Сообщение chuchxe »

KIP писал(а): Пока всё изучаю на теории и в симуляторах - там деление после компиляции проходит быстро.
Дак в симуляторах тоже можно посмотреть алгоритм - в PROTEUS просто нужно включить отображение АСМ листинга
Всем СПАТЬ !
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Ср июн 20, 2007 18:46:54
Откуда: Красноярск

Сообщение Степаныч »

Всем привет! Только начал работать с CVAVR да и с СИ тоже!!Решил сделать часы с выводом времени на LCD и сразу возник вопрос: Как организовать отсчет секунд??Так алгоритм понимаю т.е нужно создать переменную например Sec, далее присвоить значение 0, потом прибавить 1, потом организовать задержку в 1000ms, затем опять прибавить 1 и т.д.
Ну должно быть так
While(sec++); --- а как сделать с интервалом в 1 сек не знаю если delay_ms(1000); то куда его тут вставить??
Короче как заставить программу прибавлять 1 к значению перменной с интервалом в 1000ms с бесконечным циклом?? И еще если у кого нибудь есть какие нибудь ссылки на подобные исходники программ часов(неважно каких) на CVAVR дайте чтоб непосредственно учиться на каком либо протипе проекта!
IN GOD WE TRUST
Контактная информация:
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18682
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

вообще-то часы желательно делать по прерываниям от таймера, но в принципе можно и без... вот вам намек, как сделать бесконечный цикл, чтобы в нем каждую секунду переменная увеличивалась на 1:

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

int Sec;
while(1){
   delay_ms(1000);
   Sec++;
}
смотрите внимательно - все четко по вашему алгоритму:
Степаныч писал(а):нужно создать переменную например Sec, далее присвоить значение 0, потом прибавить 1, потом организовать задержку в 1000ms, затем опять прибавить 1 и т.д.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

Степаныч писал(а): если у кого нибудь есть какие нибудь ссылки на подобные исходники на CVAVR дайте чтоб непосредственно учиться на каком либо протипе проекта
Посмотрите на стр. 6 в моей домашней страничке.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
KIP
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Ср июл 09, 2008 11:48:16
Откуда: Обнинск

Сообщение KIP »

Нежданно возникла проблемма с компиляцией: по каким-то причинам не создаётся .cof файл c расширением __.c. Не могу понять в чём дело - в конфиге этот тип файла указан.
Глюки пошли после установки CVAVR на новый комп.
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18682
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

посмотрите на домашнюю стр. tych:))) :))) :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

KIP писал(а): не создаётся .cof файл c расширением __.c
Не волнуйтесь - еще ни кому не удалось заставить CVAVR такой создать !
KIP писал(а): Не могу понять в чём дело
дело в том что это 2 разных файла.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
KIP
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Ср июл 09, 2008 11:48:16
Откуда: Обнинск

Сообщение KIP »

tych писал(а): дело в том что это 2 разных файла.
Да, я ошибся.
У меня не создаётся c расширением __.c. В итоге VMLAB не может работать.
KIP
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Ср июл 09, 2008 11:48:16
Откуда: Обнинск

Сообщение KIP »

ARV писал(а):посмотрите на домашнюю стр. tych:))) :))) :)))
Собствено по ней и осваивал эту связку CV и VMLAB, всё было впорядке.
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

Прекрасно гадать на кофейной гуще которая в каждом доме есть.

А ваш проект не у каждого имеется.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18682
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

KIP писал(а):Собствено по ней и осваивал эту связку CV и VMLAB, всё было впорядке.
результат на лицо... продолжайте в том же духе :) я ж не зря вас направляю к истокам знаний :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
KIP
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Ср июл 09, 2008 11:48:16
Откуда: Обнинск

Сообщение KIP »

tych писал(а): А ваш проект не у каждого имеется.
Дело в программе, что-то слетело...
Даже в рабочих некогда проектах, сейчас попробовал, файл для симуляотра не обновляется.

Установил версию посвежее-работает)
KIP
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Ср июл 09, 2008 11:48:16
Откуда: Обнинск

Сообщение KIP »

Рано я начал радоваться. Нормально прошли только первые несколько компиляций, последущие уже не вносили изменения в файл _.с. VMLAB не реагировал на изменения кода.

Если кто-то сталкивался с чем-то подобным или имеет предположения прошу ответить. Бросать CVAVR очень не хочу.
Друг Кота
Аватара пользователя
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

KIP писал(а):...Бросать CVAVR очень не хочу.
Забейте в VMLAB и используйте в качестве отладчика AVR Studio. Как прикрутить AVR Studio к CodeVisionAVR, написано здесь: http://www.pro-radio.ru/controllers/6585/
А Ваша проблема, как отсчитать 1 секунду, обсуждалась здесь: http://radiokot.ru/forum/viewtopic.php? ... &start=580
KIP
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Ср июл 09, 2008 11:48:16
Откуда: Обнинск

Сообщение KIP »

Барсик писал(а): Забейте на VMLAB и используйте в качестве отладчика AVR Studio. Как прикрутить AVR Studio к CodeVisionAVR, написано здесь: http://www.pro-radio.ru/controllers/6585/
Судя по описанию, файл с расширением _.c AVR Studio не нужен - буду пробовать.

Барсик писал(а):А Ваша проблема, как отсчитать 1 секунду, обсуждалась здесь: http://radiokot.ru/forum/viewtopic.php? ... &start=580
Это спрашивал не я, такое я уже умею)
Встал на лапы
Сообщения: 115
Зарегистрирован: Пт май 23, 2008 23:59:37
Откуда: Москва

Сообщение Telek »

Непонятки с кодом:

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

signed char menu_V_position;

menu_V_position-- ;
if (menu_V_position<0) menu_V_position=2;
Если menu_V_position становится меньше нуля, то условие не срабатывает... т.е. как будто -1 больше нуля...
если вместо signed char указать int - работает...
Как победить?
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

попробуй так:

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


char menu_V_position; 

menu_V_position-- ; 
if (menu_V_position<0) menu_V_position=2;

Изображение
Контактная информация:
Встал на лапы
Сообщения: 115
Зарегистрирован: Пт май 23, 2008 23:59:37
Откуда: Москва

Сообщение Telek »

Krik99 писал(а):попробуй так:

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


char menu_V_position; 

menu_V_position-- ; 
if (menu_V_position<0) menu_V_position=2;

На так CVAVR соответственно пишет ворнинг, т.к. "меньше 0" не входит в диапазон char и соответвенно тоже не работает... т.к. menu_V_position-- дает 255,254,253 и т.д. Т.е. так как и должно быть, т.к. чар по умолчанию без знака.
Вот какого болта оно не считает "меньше нуля" -1,-2,-3
Причем в моем варианте if (menu_V_position==-1) menu_V_position=2;
работает, но хочется общего варианта "<0" - а оно не работает...
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

Telek писал(а):Вот какого болта оно не считает "меньше нуля" -1,-2,-3
...
Наверно нужно переубедить CVAVR в свойствах проекта что ЧАР и меньше нуля бывает.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
Встал на лапы
Сообщения: 115
Зарегистрирован: Пт май 23, 2008 23:59:37
Откуда: Москва

Сообщение Telek »

tych писал(а):
Telek писал(а):Вот какого болта оно не считает "меньше нуля" -1,-2,-3
...
Наверно нужно переубедить CVAVR в свойствах проекта что ЧАР и меньше нуля бывает.
А можно поподробней? где его еще убеждать?
Вроде явно написал signed char?
более того, если написать так:

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

signed char zero;
signed char menu_V_position; 

zero=0;
menu_V_position-- ;
if (menu_V_position<zero) menu_V_position=2;
т.е. когда явно идет сравнение двух signed char, то все равно болт...
Ответить

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