Страница 8 из 421
Добавлено: Ср фев 13, 2008 04:24:16
sinobi
А как в текст проги подключать библиотеки из квавр?Можно ли пополнять библиотеку и как?
Добавлено: Ср фев 13, 2008 17:01:12
Denis-d20
sinobi писал(а):А как в текст проги подключать библиотеки из квавр?Можно ли пополнять библиотеку и как?
Я так понимаю например уменя впроге используется файл lcd.h а в нем имеется строка "#pragma library lcd.lib"
Добавлено: Пт фев 29, 2008 11:36:02
Ravenholm
Всем громкое Мяу!!!

Помогите Чайнику! Подскажите как на языке Си написать программу обращения ATmega8515 к внешней ОЗУ избегая ассеблерных вставок. Не могу в учебниках по Си найти как эта задача реализуется синтаксически. Например отаправить данные по адресу $0A000. В ассемблере это сделать не трудно, но есть нужда реализовать это именно в Си. Плиззз если на трудно покажите кусок кода.

Добавлено: Пт фев 29, 2008 11:46:06
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;
Добавлено: Пт фев 29, 2008 11:49:56
ARV
просто указать адрес переменной не помогает?
Добавлено: Пт фев 29, 2008 15:00:52
tych
в IAR так и для внешней памяти, а вот в CVAVR сумлеваюсь.
Добавлено: Пн мар 10, 2008 00:50:58
Adakur
Я скачал CVAVR и установил - там встроен программатор и я хочу его использовать. Подкажите как безопастно работать с LPT портом ПК - т.е. каковы правила подключения отключения прогрмматора ? Боюсь спалить порт. Читал в кратком курсе на стр 7 "о прошивании AVR" предупреждение об этом.
Добавлено: Пн мар 10, 2008 18:05:08
Барсик
Желательно, чтобы программатор был не просто 5 проводков, а имел буферную микросхему. Сначала подключаете разъём LPT, а затем подаёте питание на программатор. Отключение в обратном порядке. Сначала отключаете питание от программатора, затем отстыковываете разъём LPT.
проблемы с прогаммированием через "пять проводков"
Добавлено: Чт мар 13, 2008 00:42:11
Ravenholm
в общем так! из книги А В Белова взял схему бегущий огней, собрал её на ATmega 8515, программировал при помощи "пяти проводков" через CV AVR. программирование вроде прошло успешно CV не ругалась, но ожиданных бегущих огней я не увидел. лишь слабо засветился один или два диода Программу для контроллера я взял тоже из книги. Но это не самое страшное. Потом я попытался стереть память, чтобы перепрошить его, но CV сказала, чтобы я проверил свою плату программатора, ЧИП и т. д. В общем работать с МК она наотрез отказалась. И так произошло дважды на двух новеньких, только из магазина мегах. Не пойму в чем дело!

Добавлено: Чт мар 13, 2008 08:27:49
Aheir
Возможно, Вы неправильно прошили фьюз-биты. Например, прошили на работу от кварца, а кварц не установлен. Советую ознакомиться с
http://www.radiokot.ru/forum/viewtopic.php?t=1279, по крайней мере узнаете о возможных проблемах.
Добавлено: Вт мар 18, 2008 22:33:23
ipkin
а существует ли описалово для CV на русском если да то можно ли его поиметь?
Добавлено: Ср мар 19, 2008 06:36:53
tych
ipkin писал(а):а существует ли описалово для CV на русском если да то можно ли его поиметь?
Нверно только краткий курс описывает работу с CVAVR - моя домашняя страничка.
Добавлено: Ср мар 19, 2008 07:46:30
ipkin
Нверно только краткий курс описывает работу с CVAVR - моя домашняя страничка.[/quote]
ну а по директивам командам для написания программы есть описания
ну типа #pragma warn- или flash unsigned char что то в этом духе
Добавлено: Ср мар 19, 2008 08:33:36
tych
ipkin писал(а):Нверно только краткий курс описывает работу с CVAVR - моя домашняя страничка под кнопкой www
ну а по директивам командам для написания программы есть описания
ну типа #pragma warn- или flash unsigned char что то в этом духе
Это страница 5 курса - называется "Си для МК" и имеет 2 части.
#pragma warn- отключить вонинги - т.е. предупреждения компилера.
Re: проблемы с прогаммированием через "пять проводков&a
Добавлено: Чт мар 20, 2008 20:46:19
delay
Ravenholm писал(а): ожиданных бегущих огней я не увидел. лишь слабо засветился один или два диода
Похоже на завышенную частоту. Посмотрите осциллографом. Возможно ошиблись с конфигурированием.
Потом я попытался стереть память, чтобы перепрошить его, но CV сказала, чтобы я проверил свою плату программатора, ЧИП и т. д. В общем работать с МК она наотрез отказалась.
У меня бывает подобное Tiny2313 c самодельным программатором. В таких случаях я пользуюсь программатором Uniprof :
http://avr.nikolaew.org/progr.htm
Если же вы ошиблись с фюзами, то поставить их на место можно при помощи AVRealshell :
http://miek.narod.ru
Добавлено: Вс мар 23, 2008 00:09:39
GoodBoyGood
У меня вопрос по CodeVision AVR:
Мне нужно сделать задержку в микросекундах от 0 до 5000 мкс значение которой храниться в переменной, например t. В CodeVision AVR можно использовать функции delay_ms() и delay_us().
С delay_ms() все нормально, ставлю t вот так: delay_ms(t), и все нормально. Но в delay_us() переменную нельзя ставить, компилятор пишет типа можно только константу поставить.
Неужели никак? Может все-таки как то можно использовать переменную в delay_us()?
А может кто скажет как самому задержку сделать? но только она должна происходить в подпрограмме обработчика прерываний. Как это сделать если в обработчике прерываний прерывания запрещаются?
Добавлено: Вс мар 23, 2008 00:15:15
tych
1. Можно паузу сделать на таймере. Смотрите
задачу 6 в кратком курсе по AVR.
2. Можно delay_us(константа) втавить в while или for для повторения столько раз сколько нужно.
3. Можно просто while или for использовать для отсчета паузы.
2 и 3 разъяснено в
"Си для МК" - советую почитать.
Добавлено: Вс мар 23, 2008 12:05:20
ARV
GoodBoyGood писал(а):А может кто скажет как самому задержку сделать? но только она должна происходить в подпрограмме обработчика прерываний. Как это сделать если в обработчике прерываний прерывания запрещаются?
задержка в обработчике прерываний - это плохой стиль, могут вылезти большие проблемы. тем более такая огромная (с точки зрения МК) - 5 миллисекунд!
Верификация в CVAVR
Добавлено: Вс мар 23, 2008 15:07:17
doc58
Вопрос по верификации в CVAVR
Проштудировал курс по AVR, установил CVAVR, спаял пять проводков. Шил Attiny13. Разобрался с фьюзами, вроде все работает, но как-то нет сообщений о верификации... Решил проверить вручную. Прошил flash, считал и сохранил flash. Сравнил файлы - совпадают(2.5к). Вышел из программы CVAVR, зашел в CVAVR опять, считал flash - А ФАЙЛ ДРУГОЙ, БОЛЬШЕ И ВООБЩЕ НЕ ПОХОЖ(2.8к)!!! Проверил несколько раз - все то же. Стер - считал флеш - сохранил - опять2.8к! И никаких ошибок не выдает! Вообще не могу понять... Почитал хелп по CVAVR но там очень лаконично... помогите, первый раз шью...
Наутро сходил в аптеку за галоперидолом и что-то прояснилось...
С верификацией разобрался, все записалось правильно... спасибо за ресурс, tych. НО, в общем неважный вопрос, просто интересно: смотрю одинаковые (за исключением дописанных внизу FFFFFFFFFFFFFFF в дампе, за счет этого больший размер файла - моя первая ошибка)hex файлы - сохраненный из буфера и исходный (прошивка) в редакторе Lister в hex формате - А ОНИ СОВЕРШЕННО РАЗНЫЕ, НАЧИНАЯ С ПЕРВОЙ СТРОЧКИ, С ПЕРВОГО ЗНАЧЕНИЯ!!! Может объясните? Получается листером и пользоваться нельзя?
Добавлено: Сб мар 29, 2008 23:32:22
Valler
Доброго времени суток. Начал осваивать AVR и столкнулся с проблемой: не получается прошить МК мегу16 второй раз. Прошиваю пятью проводками из CVAVR (пока не спаял программатор… руки не дошли). Имеется две меги16, первую зашил - все гладко, даже работает, вторую – тоже, а вот по второму разу – ну никак(
Т.е. МК в схеме исправно работает, а вот прошиваться не дает.
Задержку устанавливал от 1 и до 99, это не помогает. Господа, есть какие варианты, как меги спасти?