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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
delay
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Чт мар 20, 2008 20:33:43
Контактная информация:

Сообщение delay »

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

Re: Верификация в CVAVR

Сообщение tych »

doc58 писал(а):одинаковые (за исключением дописанных внизу FFFFFFFFFFFFFFF в дампе, за счет этого больший размер файла


FF - это состояние не программированых ячеек памяти - таковы они с завода или после стирания.

.hex от компилятора зависит от размера программы, а из МК читается файл размером во всю память программ МК. Вот и разница.

В CVAVR есть проверка прошивки, но она возможна если не установлена защита прошивки.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

delay писал(а):А вы стерли перед записью? Вначале нужно стереть командой Program/Erase Chip


в CVAVR этого не требуется ! - просто нажимаешь "прогрммировать" и он стирает автоматически.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Valler
Родился
Сообщения: 3
Зарегистрирован: Сб мар 29, 2008 23:13:53

Сообщение Valler »

Задержку увеличивал, это не помогло. Мог я оба раза выставить ка-либо фьюзы, если была выставленна галочка у program fuse(в заголовке), но, при этом, ни одну из них я не менял. т.е. все установки в этом окне(чип программер) по умолчанию?
Завтра попробую понипрог.
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Проверь качество монтажа. Электроника наука о контактах. CVAVR - это коммерческое изделие и работает он надежно !

На стр. 7 есть и простые прогеры на COM-порт.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
delay
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Чт мар 20, 2008 20:33:43
Контактная информация:

Сообщение delay »

Попробуйте Uniprof
http://avr.nikolaew.org/progr.htm
Аватара пользователя
doc58
Родился
Сообщения: 5
Зарегистрирован: Вт ноя 20, 2007 06:31:46
Откуда: Moscow

Сообщение doc58 »

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

Сообщение tych »

doc58 писал(а):Спасибо Tych!


Не за что.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Valler
Родился
Сообщения: 3
Зарегистрирован: Сб мар 29, 2008 23:13:53

Сообщение Valler »

Спасибо за советы, очень оперативно, даже не ожидал!
Еще помучаюсь немного с 5 проводками и спаяю программатор сам.. Если найду, в чем проблема, поделюсь.
MP38A
Родился
Сообщения: 18
Зарегистрирован: Вт фев 19, 2008 00:33:11
Откуда: из столици многострадального СССР

Сообщение MP38A »

люди подскажите как грамотно управлять 7ми сегментником на си просто то что я написал мне ненравиться хоть и работает отлично

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

Сообщение tych »

UR4QBP писал(а): Надо 16 битное слово передать через вывод PORTX.X последовательно от старшего бита к младшему, можно по 8бит. Ничего не получается, так как я только учусь программировать МК.


C помощью операции сдвига - вот медленный неэффективный вариант:

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

int   chis_16   // 16 битное число           
char ctr = 16;         // счетчик

while (ctr){
ctr -- ;  // уменьшить счетчк
PORTX.X  = chis_16 >> ctr ;   // сдвинуть на ctr бит вправо
                }


Вроде правильно ... :lol:
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
RadioNefor
Открыл глаза
Сообщения: 56
Зарегистрирован: Пт мар 28, 2008 00:39:54
Откуда: Беларусь. Новополоцк.
Контактная информация:

Сообщение RadioNefor »

У меня тупой вопрос! Как преобразовать два char в один int??
Например int в 2 char можно так:

int i;
char cH,cL;

cL=((char*)&i)[0];
cH=((char*)&i)[1];

А если 2 char в один int ??
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

может быть так:

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

i = ((int)cH << 8) + cL;
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
RadioNefor
Открыл глаза
Сообщения: 56
Зарегистрирован: Пт мар 28, 2008 00:39:54
Откуда: Беларусь. Новополоцк.
Контактная информация:

Сообщение RadioNefor »

Спасибо за подсказку. Работает!
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

а можно и так (мне кажется, проще):

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

union {
   int L;
   char cL,cH;
} N;

   N.cL = cL;
   N.cH = cH;
// теперь N.L есть то самое число int, "половинки" которого были в cL и cH


если вместо cL и cH сразу в программе использовать N.cL и N.cH соответственно, то все становится вообще красиво и просто :)

P.S. Куда модераторы смотрят: уже сколько постов не имеют отношения к CodeVision - это же чистые проблемы знания языка Си!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
RadioNefor
Открыл глаза
Сообщения: 56
Зарегистрирован: Пт мар 28, 2008 00:39:54
Откуда: Беларусь. Новополоцк.
Контактная информация:

Сообщение RadioNefor »

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

Сообщение tych »

Обновил шаблон для быстрого написания программ в CodeVisionAVR CVAVR для ATmega8 и ATmega16 и мгновенной проверке в симуляторе VMLAB или в PROTEUS. Добавил ATmega8 и заготовку проектов CVAVR - PROTEUS. В шаблоне проекты уже сконфигурированы и он легко адаптируется на другие МК AVR. Посмотрите пример использования шаблона :
http://www.roboforum.ru/viewtopic.php?f ... 2604#p5260

Вот картинка симуляции из шаблона в PROTEUS
Изображение
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
ge-nka
Родился
Сообщения: 3
Зарегистрирован: Сб апр 19, 2008 08:57:12

Сообщение ge-nka »

Скажите пожалуйста новичку,сделал программу и cvavr выдаёт кучу таких warning-ов в протеусе всё работает без проблем.
Может кто нибудь объяснить что они значат?
Изображение (alt+p)

И ещё один вопрос у меня есть пару variables которые я могу изменять через меню на lcd,
я так понял они по умолчанию пишутся в sram и если отключить питание они опять обнуляются
что мне конечно не надо.Вопрос как мне их записать в eeprom внутрений ?(syntaх).
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

ge-nka писал(а):Скажите пожалуйста новичку,сделал программу и cvavr выдаёт кучу таких warning-ов в протеусе всё работает без проблем.

Может кто нибудь объяснить что они значат ?


Что значат можно в словаре посмотреть перевод.

"Вонинги" не критичны обычно.

ge-nka писал(а):как мне их записать в eeprom внутрений ?(syntaх).


Надо объявить эти переменные или переменные хранящие значения при выкл питания как eeprom

смотрите вторую часть стр 5 под кнопкой Изображение ниже.

это "Си для МК"
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
ge-nka
Родился
Сообщения: 3
Зарегистрирован: Сб апр 19, 2008 08:57:12

Сообщение ge-nka »

Так это и мне понятно ,что не критично.
Перевод смотрел но умнее не стал.

Просто в образовательных целях хотелось бы знать в общих чертах почему такое происходит,
чтобы в следущий раз на эти грабли не наступать.

Короче поменял тип переменых те что на картинке с [4] (был int стал unsigned char)
они у меня для показа на lcd значения переменых через конвертацию itoa ,
"pointer conversion "вонинги ушли.(наверное объявил болшее число чем вожможно, вот cvavr и ругался)

Зато теперь ругается на ееprom инитиализацию.

Изображение(alt+p)
Ответить

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