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

Обсуждаем контроллеры компании Atmel.
chuchxe
Родился
Сообщения: 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
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

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

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

int Sec;
while(1){
   delay_ms(1000);
   Sec++;
}

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

Мой уютный бложик... заходите!
Аватара пользователя
tych
Э...
Сообщения: 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
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

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

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

Сообщение tych »

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

А ваш проект не у каждого имеется.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 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


Это спрашивал не я, такое я уже умею)
Telek
Встал на лапы
Сообщения: 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 - работает...
Как победить?
Аватара пользователя
Krik99
Потрогал лапой паяльник
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

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

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


char menu_V_position;

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

Изображение
Telek
Встал на лапы
Сообщения: 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" - а оно не работает...
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Telek писал(а):Вот какого болта оно не считает "меньше нуля" -1,-2,-3
...

Наверно нужно переубедить CVAVR в свойствах проекта что ЧАР и меньше нуля бывает.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Telek
Встал на лапы
Сообщения: 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»