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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
sinobi
Встал на лапы
Сообщения: 104
Зарегистрирован: Сб фев 24, 2007 15:49:35
Контактная информация:

Сообщение sinobi »

А как в текст проги подключать библиотеки из квавр?Можно ли пополнять библиотеку и как?
Аватара пользователя
Denis-d20
Открыл глаза
Сообщения: 52
Зарегистрирован: Сб ноя 24, 2007 10:06:53
Откуда: Украина,хмельницкий
Контактная информация:

Сообщение Denis-d20 »

sinobi писал(а):А как в текст проги подключать библиотеки из квавр?Можно ли пополнять библиотеку и как?

Я так понимаю например уменя впроге используется файл lcd.h а в нем имеется строка "#pragma library lcd.lib"
Аватара пользователя
Ravenholm
Родился
Сообщения: 7
Зарегистрирован: Вт фев 26, 2008 12:59:52

Сообщение Ravenholm »

Всем громкое Мяу!!! :)) Помогите Чайнику! Подскажите как на языке Си написать программу обращения ATmega8515 к внешней ОЗУ избегая ассеблерных вставок. Не могу в учебниках по Си найти как эта задача реализуется синтаксически. Например отаправить данные по адресу $0A000. В ассемблере это сделать не трудно, но есть нужда реализовать это именно в Си. Плиззз если на трудно покажите кусок кода. :)
Не люблю словоблудия!
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

В Хелпе CVAVR посмотрите - Structures

Structures are defined using the struct reserved keyword.
The syntax is:

[<storage>] struct [<structure>] {
[<type> <variable>[,<variable>, ...]];
[<type> [<bitfield>]:<width>[,[<bitfield>]:<width>, ...]];
...
} [<structure>];

Example:

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

/* Global structure located in SRAM */
struct ram_structure {
             char a,b;
             int  c;
             char d[30],e[10];
             char *pp;
             } sr;
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

просто указать адрес переменной не помогает?

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

int my_var @0xA000;
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

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

Сообщение tych »

в IAR так и для внешней памяти, а вот в CVAVR сумлеваюсь.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Adakur
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Пн мар 10, 2008 00:30:59
Откуда: Ивантеевка
Контактная информация:

Сообщение Adakur »

Я скачал CVAVR и установил - там встроен программатор и я хочу его использовать. Подкажите как безопастно работать с LPT портом ПК - т.е. каковы правила подключения отключения прогрмматора ? Боюсь спалить порт. Читал в кратком курсе на стр 7 "о прошивании AVR" предупреждение об этом.
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

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

Желательно, чтобы программатор был не просто 5 проводков, а имел буферную микросхему. Сначала подключаете разъём LPT, а затем подаёте питание на программатор. Отключение в обратном порядке. Сначала отключаете питание от программатора, затем отстыковываете разъём LPT.
Аватара пользователя
Ravenholm
Родился
Сообщения: 7
Зарегистрирован: Вт фев 26, 2008 12:59:52

проблемы с прогаммированием через "пять проводков"

Сообщение Ravenholm »

в общем так! из книги А В Белова взял схему бегущий огней, собрал её на ATmega 8515, программировал при помощи "пяти проводков" через CV AVR. программирование вроде прошло успешно CV не ругалась, но ожиданных бегущих огней я не увидел. лишь слабо засветился один или два диода Программу для контроллера я взял тоже из книги. Но это не самое страшное. Потом я попытался стереть память, чтобы перепрошить его, но CV сказала, чтобы я проверил свою плату программатора, ЧИП и т. д. В общем работать с МК она наотрез отказалась. И так произошло дважды на двух новеньких, только из магазина мегах. Не пойму в чем дело! :cry:
Не люблю словоблудия!
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

Возможно, Вы неправильно прошили фьюз-биты. Например, прошили на работу от кварца, а кварц не установлен. Советую ознакомиться с http://www.radiokot.ru/forum/viewtopic.php?t=1279, по крайней мере узнаете о возможных проблемах.
Оптимизм х (Опыт + Знания) = const
ipkin
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Вт июл 10, 2007 23:15:17
Откуда: Магнитогорск

Сообщение ipkin »

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

Сообщение tych »

ipkin писал(а):а существует ли описалово для CV на русском если да то можно ли его поиметь?


Нверно только краткий курс описывает работу с CVAVR - моя домашняя страничка.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
ipkin
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Вт июл 10, 2007 23:15:17
Откуда: Магнитогорск

Сообщение ipkin »

Нверно только краткий курс описывает работу с CVAVR - моя домашняя страничка.[/quote]

ну а по директивам командам для написания программы есть описания
ну типа #pragma warn- или flash unsigned char что то в этом духе
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

ipkin писал(а):
Нверно только краткий курс описывает работу с CVAVR - моя домашняя страничка под кнопкой www


ну а по директивам командам для написания программы есть описания
ну типа #pragma warn- или flash unsigned char что то в этом духе


Это страница 5 курса - называется "Си для МК" и имеет 2 части.

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

Re: проблемы с прогаммированием через "пять проводков&a

Сообщение delay »

Ravenholm писал(а): ожиданных бегущих огней я не увидел. лишь слабо засветился один или два диода

Похоже на завышенную частоту. Посмотрите осциллографом. Возможно ошиблись с конфигурированием.

Потом я попытался стереть память, чтобы перепрошить его, но CV сказала, чтобы я проверил свою плату программатора, ЧИП и т. д. В общем работать с МК она наотрез отказалась.

У меня бывает подобное Tiny2313 c самодельным программатором. В таких случаях я пользуюсь программатором Uniprof :
http://avr.nikolaew.org/progr.htm
Если же вы ошиблись с фюзами, то поставить их на место можно при помощи AVRealshell :
http://miek.narod.ru
GoodBoyGood
Родился
Сообщения: 8
Зарегистрирован: Вт авг 28, 2007 14:10:30

Сообщение GoodBoyGood »

У меня вопрос по CodeVision AVR:
Мне нужно сделать задержку в микросекундах от 0 до 5000 мкс значение которой храниться в переменной, например t. В CodeVision AVR можно использовать функции delay_ms() и delay_us().
С delay_ms() все нормально, ставлю t вот так: delay_ms(t), и все нормально. Но в delay_us() переменную нельзя ставить, компилятор пишет типа можно только константу поставить.
Неужели никак? Может все-таки как то можно использовать переменную в delay_us()?
А может кто скажет как самому задержку сделать? но только она должна происходить в подпрограмме обработчика прерываний. Как это сделать если в обработчике прерываний прерывания запрещаются?
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

1. Можно паузу сделать на таймере. Смотрите задачу 6 в кратком курсе по AVR.

2. Можно delay_us(константа) втавить в while или for для повторения столько раз сколько нужно.

3. Можно просто while или for использовать для отсчета паузы.

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

Сообщение ARV »

GoodBoyGood писал(а):А может кто скажет как самому задержку сделать? но только она должна происходить в подпрограмме обработчика прерываний. Как это сделать если в обработчике прерываний прерывания запрещаются?
задержка в обработчике прерываний - это плохой стиль, могут вылезти большие проблемы. тем более такая огромная (с точки зрения МК) - 5 миллисекунд!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
doc58
Родился
Сообщения: 5
Зарегистрирован: Вт ноя 20, 2007 06:31:46
Откуда: Moscow

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

Сообщение doc58 »

Вопрос по верификации в CVAVR

Проштудировал курс по AVR, установил CVAVR, спаял пять проводков. Шил Attiny13. Разобрался с фьюзами, вроде все работает, но как-то нет сообщений о верификации... Решил проверить вручную. Прошил flash, считал и сохранил flash. Сравнил файлы - совпадают(2.5к). Вышел из программы CVAVR, зашел в CVAVR опять, считал flash - А ФАЙЛ ДРУГОЙ, БОЛЬШЕ И ВООБЩЕ НЕ ПОХОЖ(2.8к)!!! Проверил несколько раз - все то же. Стер - считал флеш - сохранил - опять2.8к! И никаких ошибок не выдает! Вообще не могу понять... Почитал хелп по CVAVR но там очень лаконично... помогите, первый раз шью...

Наутро сходил в аптеку за галоперидолом и что-то прояснилось...
С верификацией разобрался, все записалось правильно... спасибо за ресурс, tych. НО, в общем неважный вопрос, просто интересно: смотрю одинаковые (за исключением дописанных внизу FFFFFFFFFFFFFFF в дампе, за счет этого больший размер файла - моя первая ошибка)hex файлы - сохраненный из буфера и исходный (прошивка) в редакторе Lister в hex формате - А ОНИ СОВЕРШЕННО РАЗНЫЕ, НАЧИНАЯ С ПЕРВОЙ СТРОЧКИ, С ПЕРВОГО ЗНАЧЕНИЯ!!! Может объясните? Получается листером и пользоваться нельзя?
Doc
Valler
Родился
Сообщения: 3
Зарегистрирован: Сб мар 29, 2008 23:13:53

Сообщение Valler »

Доброго времени суток. Начал осваивать AVR и столкнулся с проблемой: не получается прошить МК мегу16 второй раз. Прошиваю пятью проводками из CVAVR (пока не спаял программатор… руки не дошли). Имеется две меги16, первую зашил - все гладко, даже работает, вторую – тоже, а вот по второму разу – ну никак(
Т.е. МК в схеме исправно работает, а вот прошиваться не дает.
Задержку устанавливал от 1 и до 99, это не помогает. Господа, есть какие варианты, как меги спасти?
Ответить

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