Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
15.02.2010, 01:07
|
|
Прописка
Регистрация: 14.01.2008
Сообщений: 121
Сказал спасибо: 1
Сказали Спасибо 19 раз(а) в 18 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Зайди на мой сайт, там есть книга по CodeVision AVR. Советую почитать.
|
|
|
|
15.02.2010, 10:22
|
|
Прописка
Регистрация: 09.08.2006
Сообщений: 198
Сказал спасибо: 14
Сказали Спасибо 27 раз(а) в 20 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Сообщение от dosikus
|
Функции определенные вне main файла , не видят глобальные переменные?
Настройки проекта ,глюк ?
|
Нет, не глюк. Глобальные переменные определенные в других файлах, должны объявляться с extern перед их использованием в файле (также, как и функции). Керниган и Ричи (4.5.1. Область действия):
http://lib.ru/CTOTOR/kernigan.txt_wi...ctures.html#53
Проект не прогонял, но похоже автор "причесывал" исходники после компиляции прошивки.
|
|
|
|
15.02.2010, 13:13
|
|
Частый гость
Регистрация: 11.07.2006
Сообщений: 32
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
А не подскажет ли кто, как из CVAVR запускать внешний программатор для прошивки кристалла? Есть ли такая функция в среде?
|
|
|
|
15.02.2010, 16:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Сообщение от dosikus
|
CVAVR версия 2.04.4a .
Функции определенные вне main файла , не видят глобальные переменные?
|
Глобальную переменную - т.е. объявленую не внутри скобок { } т.е. ни в какой либо функции
Увидят все функции расположеные по тексту программы ниже ее объявления.
Т.е. объявить переменную надо выше тех функций где она будет использоваться.
Если она меняется в прерывании то еще и volatile желательно поставить. Это не даст оптимизатору ее выкинуть или проигнорировать.
====== Язык Си для микроконтроллеров - pid.by.ru/05.htm
Чтоб в PROTEUS видеть все переменные при отладке по кнопке "пауза" надо в свойствах проекта CVAVR снять галочки размещения перем. по регистрам и "смат алокейшн".
Мне as205 или кто-то еще ( СПАСИБО ! ) тут года 2 назад это подсказал, пользуюсь - радуюсь.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
15.02.2010, 16:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Сообщение от asele
|
А не подскажет ли кто, как из CVAVR запускать внешний программатор для прошивки кристалла? Есть ли такая функция в среде?
|
В свойствах проекта есть пунктик "авта билд" - запустить прогу и параметры.
Вот сделал вам скриншотик:
-
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
Последний раз редактировалось avr123-nm-ru; 15.02.2010 в 16:14.
|
|
|
|
15.02.2010, 18:53
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,992
Сказал спасибо: 929
Сказали Спасибо 2,259 раз(а) в 1,557 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Так стоп ...
alex28411,avr123-nm-ru Вы проект компилили ?
В старой версии (1.29) компиляция идет на ура.
В новой ошибки.
avr123-nm-ru- еще одна беда :
Стояла 2.04.4a , поставил в параллель 1.29 .
Перестала запускатся 2.04.4a, стер 1.29, чистил реестр переустанавливал 2.04.4а - все бестолку не запускается.
Кто знает где эта тварь метит ?
__________________
Осторожно , злой кот
|
|
|
|
16.02.2010, 08:37
|
|
Прохожий
Регистрация: 25.11.2009
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Сообщение от dosikus
|
Так стоп ...
alex28411,avr123-nm-ru Вы проект компилили ?
В старой версии (1.29) компиляция идет на ура.
В новой ошибки.
avr123-nm-ru- еще одна беда :
Стояла 2.04.4a , поставил в параллель 1.29 .
Перестала запускатся 2.04.4a, стер 1.29, чистил реестр переустанавливал 2.04.4а - все бестолку не запускается.
Кто знает где эта тварь метит ?
|
У меня было тоже самое. Удалил обе проги, а также в корне папку C:\cvavr. Заново установил 2.04.4а, все работает нормально.
|
|
|
|
16.02.2010, 11:41
|
|
Временная регистрация
Регистрация: 04.04.2008
Сообщений: 49
Сказал спасибо: 29
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Сообщение от dosikus
|
Функции определенные вне main файла , не видят глобальные переменные?
Настройки проекта ,глюк ?
|
На сколько я знаю в языке си даже глобальная переменная имеет область виденья только в том файле *.с в котором она объявлена! В других случаях если она объявлена в другом файле *.с ее нужно объявлять как extern, естественно если она должна иметь область виденья во всем проекте! Да действительно в старых версиях CVAVR где не объяви переменную (глобальную), она видна остальных файлах. Например в компиляторе KEIL так делать нельзя.
Вот почитайте http://www.citforum.ru/programming/c/h16.shtml#16, кстате нашел ссылку на этот сайт на сайте товарища avr123-nm-ru.
P.S Не вобиду будет сказано, но CVAR не когда не считал профессиональным компилятором, компилятор для начинающего. Для AVR использую IAR. Хотя в нем нету генератора начального кода как в CVAR .
Последний раз редактировалось dimka11; 16.02.2010 в 11:44.
|
|
|
|
16.02.2010, 12:18
|
|
Частый гость
Регистрация: 06.06.2008
Сообщений: 43
Сказал спасибо: 90
Сказали Спасибо 126 раз(а) в 23 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Сообщение от dimka11
|
P.S Не вобиду будет сказано, но CVAR не когда не считал профессиональным компилятором, компилятор для начинающего. Для AVR использую IAR. Хотя в нем нету генератора начального кода как в CVAR .
|
Откуда такой вывод?
Почитайте на форумах обсуждения характеристик компиляторов!
Сам анализировал с карандашом в руке ассемблерные дампы программ после компиляции в IAR и CodeVision - во многих случаях у CodeVision код более компактный и внятный.
CodeVision - отличный профессиональный инструмент для программирования 8-ми битных микроконтроллеров!
Ну нет у него поддержки C++. Хотя польза C++ при программировании 8-ми битных микроконтроллеров, при их ограниченных ресурсах, очень сомнительна.
|
|
|
|
16.02.2010, 12:33
|
|
Временная регистрация
Регистрация: 04.04.2008
Сообщений: 49
Сказал спасибо: 29
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
|
Re: CodeVisionAVR начинающим с нуля
Сообщение от LVII
|
Откуда такой вывод?
Почитайте на форумах обсуждения характеристик компиляторов!
|
Вывод лично мой и для себя не кому не навязываю! Вывод сделал из ходя из выше сказанного и личного опыта! на CVAVR уже давно не работаю так как пишу для ARM, на KEIL.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:43.
|
|