Краткий Курс - программирование AVR - часть VII

 
1 2 3 4 5 6 7 12
+
-
edit
 

DrDoom

новичок
Объясняю еще раз - программа упрощена. В прерывании АЦП сохраняются регистры и SREG, считываются значения ADCL и ADCH и все. При этом изначально делитель для АЦП равен 128 (частота АЦП около 9.6 кГц, микроконтроллер на 16 МГц).
 
RU termostat #28.10.2005 19:27
+
-
edit
 

termostat

аксакал

Не видя программы можно еще долго интуитивно-гипотетически ошибки искать.

Пиши на Си и таких проблем не будет, будут другие - приятные.
RU o[DEC]olon #29.10.2005 23:32
+
-
edit
 

o[DEC]olon

новичок
У меня тут вопросик возник...
В курсе вы пишете:

"Мы изменим в разделе CPU частоту кварца на 3.6864 МГц - это позволит нам поддерживать и безошибочно точную скорость на rs232 (см. ДатаШит раздел UART) из списка стандартных. Вернемся в раздел Timer0 - видим частота точная, ошибка ноль. "

Я же, когда устанавливаю такую частоту генератора, у меня показывает отклонение не 0%, а 1,4% и сгенерированное им значение для TCNT0 = 0xB9, а не как у вас 0xB8, дальше - PORTD = 0x00; DDRD = 0x00; это уже совсем не так как у вас.

В чём тут проблема, в версиях компилятора ? или в моих кривых руках ?

компилер - ICCAVR 7.02
 

SAA

втянувшийся


pokos> Мой диагноз. Программа не успевает обрабатывать прерывания от АЦП, Yuran прав - стек переполняется.
pokos> Сокращайте время обработки прерываний. Я, в своё время, даже специальный светодий делал, чтобы он мне показывал, остаётся ли у проца время на обработку. [»]

Ну можно и на отложенные перейти, только это даст просто потерю цикла АЦП. А про загрузку можно подробней? Как мерял в холостом цикле? В таком случае ты ег в "сон" не заводишь?

 

pokos

аксакал

SAA> Ну можно и на отложенные перейти, только это даст просто потерю цикла АЦП. А про загрузку можно подробней? Как мерял в холостом цикле? В таком случае ты ег в "сон" не заводишь?
В сон мне заходить некогда, да и нет смысла в моей задаче. Светодий тушится, когда АЦП положил байт в буфер. Обработка значений проводится в основном теле, после обработки светодий зажигается. Понятно, что существует флаг, говорящий основной программе о наличии байта в буфере. Соответственно получается, светодий не горит, если имеются пропущенные (не обработанные) значения АЦП. В остальных случаях яркость получается пропорциональной свободному времени.

 
UA AlexandrM #03.11.2005 11:39
+
-
edit
 

AlexandrM

новичок
Как правильно поставить апдейт к VMLAB 3.11
После установки онного он стал Freeware Как это вылечить?
 
RU termostat #03.11.2005 11:44
+
-
edit
 
UA AlexandrM #03.11.2005 11:52
+
-
edit
 

AlexandrM

новичок
Это я сделал с самого начала. Не помогло
 
RU termostat #03.11.2005 12:32
+
-
edit
 

termostat

аксакал

тогда не знаю, у меня работает и у многих тоже.

проверь что на 3.10 ограничений не было.

только AT90s2313 не пашет уже, а боле новые AVR работают без ограничений. ATmeg'i разные там Тини.

VitR

новичок
2 termostat
Спасибо за отличный курс по AVR-кам.
Всё класс, но всплыли грабли с ImageCraft версия 7.03, не работает функция putchar + не правильно расчитывает задержку в Application Builder, вопросы уже эти поднимались.

При прохождении 3 урока не компилируется программа выдает ошибку:
!ERROR file 'work.o': undefined symbol '_putchar',
полистав help добовляем строку #include <stdio.h> не помогает, блин это еще что:
ERROR Function 'putchar' not defined. This is a function that references the device's IO register locations and must be compiled specifically
for the target device. You may find examples of this function for
different devices under the <install root>\examples.AVR directory.
C:\icc\bin\imakew.exe: Error code 1
Done: there are error(s). Exit code: 1
Это еще как особо компилировить function putchar, полез в help и ничего не понял. Вобщем снёс я версию 7.03 скачал в eMule v 6.30 установил и всё прекрасно компилируется.

АААшибка с задержкой в "Application Builder" в обоих версиях одинакова попробуйте
вызвать в ImageCraft калькулятор "AVRCalC" меню Tools/AVRCalC и посчитайте задержку в "AVRCalC" а потом в "Application Builder" при одинаковых величинах разные результаты.
Тем кто будет пользоваться "Application Builder" расчитывайте задержку отдельно в "AVRCalC".
Блин сплошные глюки. Коментарии будут!?
 
RU termostat #05.11.2005 02:46
+
-
edit
 

termostat

аксакал

Я сделал новый вариант задачи 3 курса где подробно описал начало работы с компилятором ICC - ImageCraft 7.02C и МК ATmega16



QIP.RU: почта, поиск, новости, знакомства, игры и развлечения


QIP.RU - новости и развлечения. Сайт объединяет в себе все необходимые пользователям сервисы: почту, поиск, знакомства, хранение данных: фото, видео, файлов, а так же широкий спектр различных онлайн игр.

// avr123.nm.ru
 


Докладываю: Нет ошибок и в прошлых версиях задач 3 и 4.

Все компилируется и симулируется.

Только VMLAB 3.10 и 3.11 не симулируют старые AVR в частности 2313. для них юзайте VMLAB 3.9 - он еще доступен с сайта производителя!

=======

Мастер начального кода ICC работает правильно без ошибок !

работает правильно и putchar('R');

Вобщем все сообщения об ошибках публикуемые последнее время я считаю безосновательными, делайте не торопясь, внимательно и все будет работать!

скачать весь обновленный курс архивом 1270 кб можно по ссылке:
http://avr123.nm.ru/avr123.nm.ru.rar

=======

Вот архив с исходниками к задаче 03 new (5 кб):
Прикреплённые файлы:
 

VitR

новичок
2 termostat
Cтрано всё это, я по десять раз проверял каждую строчку старой версии задачи 3 курса никаках ошибок небыло, вставлял код из твоих файлов, проверял все настройки а в версии 7.03 она всё равно не компилируется. Может конфликт программы с версией WINDOWS у меня XP rus SP1.
A вот VMLAB 3.10 у меня симулируют старую версию задачи 3 курса, где используется AVR 2313 без ошибок.
 

VitR

новичок
2 termostat и всем кому это интересно
Несколько раз было сказано что VMLAB 3.10 не симулируют старые AVR в частности 2313
Откройте окно About (s/n) в VMLAB 3.10 меню Help вот, что там в нижнем левом углу:

Installed
microcontrollers
models
AVR AT90s.. <-- это разве не 2313
AVR ATmega..
AVR ATtiny..
ST620x
ST621x
ST622x
 

VitR

новичок
В догонку к предыдущему посту вот, что написано на сайте VMLAB:

Public download: release 3.10 and upgrade to 3.11. Requires Windows 95 / 98 / NT / 2000 / XP / Linux (WINE) see details. Minimum processor: Pentium, recommended > 300MHz.

Supported AVR models: ATiny11, ATiny12, ATiny15, ATiny22, AT90S2343, AT90S2323, AT90S1200, AT90S2313, AT90S4433, AT90S4414, AT90S8515, AT90S4434, AT90S8535, ATmega8, ATmega16, ATmega161, ATmega162, ATmega32, ATmega64, ATmega128, ATmega48, ATmega88, ATmega168, ATmega8515, ATmega8535.

Я надеюсь тут всё понятно на счёт версий программы и Supported AVR models
 
RU termostat #05.11.2005 14:54
+
-
edit
 

termostat

аксакал

Я ни где не писал что 2313 не поддерживается, я написал что у меня крякнутый VMLAB3.10 и 11 всеравно ограничивает симуляцию 2313 всего до 35 мС. А Меги симулируются без ограничений.

А старый 3.9 симулирует и 2313 без ограничений по времени.

у меня Windows_Me для работы с МК.
RU termostat #06.11.2005 04:53
+
-
edit
 
RU termostat #06.11.2005 19:10
+
-
edit
 

termostat

аксакал

Удивительно! но в Proteus есть выход-вход на реальные COM и LPT порты ПК !

т.е. при достаточном быстродействии ПК вы можете симулировать работу программы вашего МК с подключеными к портам ПК реальными устройствами !
+
-
edit
 

cooller

новичок
у когонибудь есть пример использования twi в атмеге в slave режиме под кодевижен авр. никак не могу с ним разобраться.
 
RU termostat #07.11.2005 21:49
+
-
edit
 
RU termostat #07.11.2005 21:53
+
-
edit
 

termostat

аксакал

вот один из результатов:

Atmel Corporation
AVR311: using the TWI module as I2C Slave (12 pages, revision D, updated 10/04)
This Application Note describes a TWI Slave implementation, ...
Atmel Corporation - Microcontrollers notes.asp?family_id=607&part_id=2008 - 125k

как написано у меня в курсе:

Скачайте пожалуйста ВСЕ аликейшн ноуты на AVR !
+
-
edit
 

cooller

новичок
есть это у меня. чуть ли не единственный пример для слэйва. но он под IAR, a я просил по кодевижен.
 
RU termostat #08.11.2005 01:34
+
-
edit
 

termostat

аксакал

Оказывается в архиве PROTEUS 6.7 (по ссылке выше) содержится Русскоязычное описание работы с пакетом !

файл .pdf 26 стр. - автор Максимов Алексей.

Спасибо ему!

Качайте - не пожалеете.

=========
Прикреплённые файлы:
 
RU termostat #08.11.2005 02:33  @cooller#08.11.2005 01:22
+
-
edit
 

termostat

аксакал

cooller> есть это у меня. чуть ли не единственный пример для слэйва.

но он под IAR, a я просил по кодевижен. [»]
 



Ну дак всеравнож на Си писано - значит возьми файлы:
main.c TWI_slave.c TWI_slave.h из папки avr311.zip -> IAR\standard
и под кодвижен корветни.

Нужно заменить синтаксис объявления обработчиков прерываний.

Затем компилить и смотреть что еще не по КодВиженовски.

Портируй вобщем, а в AVR311.pdf теория работы.

=====

Google.com и другие ссылки дает.
RU termostat #08.11.2005 08:59
+
-
edit
 

termostat

аксакал

PROTEUS это круто!

Я только что ATmeg'у-128 в шахматы обыграл!

великолепнейшие примеры применения МК.

http://www.roboforum.ru/files/shess.jpg [not image]
Придется вторую версию курса делать под ПРОТЕУс.
MD bezobraznic #08.11.2005 17:32  @termostat#06.11.2005 04:53
+
-
edit
 

bezobraznic

новичок
termostat> Proteus 6.7 sp3 там лежит!
termostat> 404 Not Found [»]


А есть к нему кряк???
 
1 2 3 4 5 6 7 12

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru