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

 
1 2 3 4 5 6 7 12
RU termostat #18.01.2005 13:07
+
-
edit
 

termostat

аксакал

Сайт - avr123.nm.ru - "Краткий Курс AVR начинающим - тем кто хочет применить микроконтроллер (МК) в своем электронном устройстве - но не знает как сделать первый шаг, с чего конкретно начать".

Это продолжение темы, уже 5-я часть!
предыдущая 4-я чсть, последняя стр. 20:
forums.airbase.ru/index.php?showtopic=30131&st=285#entry497816

Самое начало: 1-я страница 1-й части:
Курс: программирование МК AVR "с нуля"

Советую почитать предыдущие 4 части этой саги
воспользуйтесь линкми "Версия для печати" - это удобно:

part 1: Форумы Авиабазы

part 2: Форумы Авиабазы

part 3: Форумы Авиабазы

part 4: Форумы Авиабазы

Обсуждалось много интересных вопросов - сохраните на компьютере эти топики - пригодится.

Не нужно будет спрашивать по-новой уже спрошенное и ответ найдете быстрей чем получите в он-лайн!


"Краткий Курс AVR с нуля" - avr123.nm.ru можно скачать одним файлом для офф-лайн чтения

avr123.nm.ru.rar (414 кб) от 11 дек 2004 - линк под "avrnews" на стр. 4 курса.

Качайте, читайте, программируйте.


Примеры программ и лучший (на мой взгляд) для начинающего
компилятор Си для AVR CodeVisionAVR

я видел его здесь: CodeVisionAVR.nm.ru


Проверить работу вашего устройства, не покупая радио деталей (эл. копонентов) и без пайки, можно с помощью - софт симулятора (почти эмулятора) для AVR

VMLAB (маленькое чудо - помоему) от AmcTools.com

Возьмите его здесь: LordN: Книги и софт с Walla.com

с кучей книг в электронном виде, есть и для начинающих - Хоровиц Хилл "Исскуство схемотехники" - оно вам НАДА!!! точно знаю...


Как работать с этими программами и с чего начать я
рассказываю на страничках курса: avr123.nm.ru

нам помогают более опытные товарищи.

Если ВСЕ прочитано, и есть вопросы, задавайте!

Если есть идеи - делитесь, предлагайте!
RU termostat #18.01.2005 15:10
+
-
edit
 

termostat

аксакал


GOGI > по SPI интерфейсу. В апноуте написано, что чтобы устройства, повешанные на SPI не мешали программированию, их нужно через резисторы цеплять. Я попробовал без них, все вроде работает. А может такое быть, что когда работает, а когда нет?
 


То что смотришь АпНоуты - это очень правильно.

Там указаны резисторы с которыми программирование будет успешным на 99%. Нужны ли они в конкретном устройстве зависит от "поведения" того что подключено к SPI.

GOGI > И такой же вопрос про обвязку ресета. Там схема мудренная, но вроде без неё работает.
 


про это написано на стр. 7 курса. у ATmega8 (наверно и у других МЕГ) есть внутренний резистор на RESET.

у простых AVR рекомендуют на RESET

- резистор (10 к) на + питания
- конденсатор (0.1 мкФ) на "землю"
- диод (4148, кд522) черточкой на + питания.




+AlS+ > на CV AVR вывод на экран одной строчки (стандартными функциями) занял 1,5К (с оптимизацией по длинне кода) ... Позже я пересмотрел этот пример второй раз и не понял откуда взялась цифра в 1,5К. Этот код весил около 300 байт и незначительно увеличивался при добавлении новых строк кода.
 


Размер кода резко возрастает ТОЛЬКО при первом использовании в программе функции printf (это и есть форматированый вывод - т.е. вывод данных в различных форматах, подробней в Мануале компилятора или книгах по Си) примеры из компилятора я уже приводил. Это просто плата за удобство вывода данных.

Если использовать что по-проще то код будет небольшим:

putsf("Hello, world!");

putsf('Z'); // вывести символ Z

putsf(alfa); // вывести значение alfa

либо быстро без вызова спец. функций как в задачах 06 и 07 курса.

Посмотрите.

+AlS+ > к недостаткам программир на С++ нужно отнести невозможность нормальной эмуляции программы.
 


Дык! а разве есть что либо без недостатков?

Си (мы кстати пока не рассматриваем С++) просто один из языков программирования - инструмент. Раз языков много, значит каждый из них имеет свою нишу - значит свои достоинства ну и недостатки тоже.


+AlS+ > Просто неизвестно, что происходит в МК при выполнени одной строки С++шной программы. Не получаешь полного над ним контроля.
 


Это от того что у тебя мало информации - ты не знаешь просто как это сделать и почему то решил что сделать этого нельзя.

Можно - как это сделать я написал в курсе - там есть это, только проделай то что там рекомендовано. в симуляторах обычно можно переключится на АСМ исходник, еще компилятором генерируется листинг програмы на ассемблере.

+AlS+ > Когда все работает, это и не нужно, а вот когда что то глучит, то труба...
 


Задача 6 курса посвящена одному из методов отладки программы на Си - я его использовал при отладке ПО для задачи 7.


+AlS+ > я не знаю на чем остановиться. Нужно наверно по немножку понимать все!
 


Все же настойчиво рекомендую CodeVisionAVR - выше есть где взять. Именно для начинающих с готовыми решениями типовых задач.

+AlS+ > написал небольшую прогу на Algorithm Builder, которая позволяет видеть на экране нажатую цифру(букву) на клавиутуре 4х4 на знакосинтезирующем LCD индикаторе. Может не профессионально, но работает :-) Если кому нужно, оставьте заметку, выложу.
 


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


+AlS+ > А кто нибуть писал прогу для RC-5 для AVR на CV AVR?
Если да, то не могли бы поделиться исходником?
 


collink по моему делал - сдесь обсуждал.

Но если есть в АпНоуте то сделай так - наверняка верно, можешь куски АСМ в прогу на Си воткнуть. Хотя лучше свою прогу напиши - практика полезна.

for more RC-5 Remote Control info:

 
Это сообщение редактировалось 13.02.2005 в 03:07

+AlS+

новичок
Огромный респект termostat

Файл для Aigorithm Builder на след. недели выложу, немного доработаю сначало.
А по поводу С буду переваривать информацию!!!
 

SAA

втянувшийся

+AlS+> Огромный респект termostat
+AlS+> Файл для Aigorithm Builder на след. недели выложу, немного доработаю сначало.

Очень было бы познавательно, хотелось бы что бы схема была приаттачена. Можно было бы совместно отточить и схемо-кое и прог-ое решение. Я думаю многим нужно будет RC-5 особенно у тех у кого есть маленькие дети ;-)

+AlS+> А по поводу С буду переваривать информацию!!! [»]

По поводу Си и С++, исключительно мои мысли:

Применение оправдано только в целях упрощения восприятия алгоритма, но когда под рукой Algorithm Builder восприятия упрощается до положенного ему блоксхемного подхода. Использовать C или C++ для тогоже RC-5 расточительство! В качестве обучения может быть и оправданно, но не более. Любая оптимизация будет на 2-3% избыточно по отношению к маш.коду (инемонике) и если на PC на это закрывают глаза, то на AVR где под код отведено с "гулькин нос" ... ну издевательство по меньшей мере ж-)
 

SAA

втянувшийся

termostat> Это от того что у тебя мало информации - ты не знаешь просто как это сделать и почему то решил что сделать этого нельзя.
termostat> Можно - как это сделать я написал в курсе - там есть это, только проделай то что там рекомендовано. в симуляторах обычно можно переключится на АСМ исходник, еще компилятором генерируется листинг програмы на ассемблере.

А управлять процессом компиляции? Таким образом что бы явно увиденное тобой "тупое" место было преобразовано иначе? Я очень долго в свое время боролся с Watcom на эту тему, ну да у меня получилось, но это чисто спортивный интерес, рекомендовать кому либо подобные "трахи" конечно можно, но вот практично ли?

termostat> Ну выложи сюда .zip да автору отправь, глядишь он ее в примеры добавит а тебе ключик к своей проге даст бесплатный.

Это он сам озвучил или это твое предположение?

termostat>
for more RC-5 Remote Control info:
termostat> infrared
termostat>
 
[»]


Уж если за что ключ давать ж-) так за RC-5 точно! ;-)
 
RU termostat #19.01.2005 11:21
+
-
edit
 

termostat

аксакал

Программатором попробовать прочитать МК.
см стр. 7 курса.

Но если в нем коммерческая прога то защищена наверняка.

SAA

втянувшийся

gadz> Здравстуйте все читатели курса 1-2-3.
gadz> У меня возникла острая необходимость копирования прошивки мк ATmega8l-8PI.
gadz> Может ли мне кто нибудь помочь в этом или хотя бы сказать, как определить защищенна ли прошивка от копирования.
gadz> Заранее благодарен всем ответившим snap: 498350


Если не читает память программ значит защищена я полагаю, тот же AVR Builder дает положение фузов защиты содержимого.
 

Yuran

опытный

gadz> Неужели никто еще не придумал как считать защищенную прошивку?
gadz> Спасибо. snap: 498474

Просто на нашем форуме, это мало кому надо =)
 
+
-
edit
 

farm_b

новичок
Привет всем !!!

У меня тут проблемма небольшая с DS1820 и Mega8 (СodeVision)...
Вообщем решил я после ШИМ и управления лампочкой по RC-5 сделать термометр, для этого взял DS1820 и собрал индикатор на АЛС321 все работает и показывает, но в момент считывания данных с DS1820 функцией ds1820_temperature_10(0) информация на экран не выводится !!! - как бы зависает :((( вместо ds1820_temperature_10(0) вставляю константу - все работает.
Динамическая индикация выполнена в главном цикле программы, а считывание в таймере с интервалом 10сек.
ds1820 висит на PD0.

Может кто подскажет почему все подвисает ?
 
RU termostat #20.01.2005 09:00
+
-
edit
 

termostat

аксакал

Попробуй методом задачи 6 курса найти точное место зависания - найдешь ошибку.

Если зависание точно в считывании то возможно датчик "молчит", возможно поможет проект на телесистемах по этим датчикам - см 1 стр. курса.
RU Андрей Суворов #20.01.2005 09:09  @termostat#20.01.2005 09:00
+
-
edit
 

Андрей Суворов

координатор

termostat> Попробуй методом задачи 6 курса найти точное место зависания - найдешь ошибку.
termostat> Если зависание точно в считывании то возможно датчик "молчит", возможно поможет проект на телесистемах по этим датчикам - см 1 стр. курса. [»]

Это не бага, это фича (с)
Так написана библиотечная функция, читающая данные из ДС1820, про это уже говорено-переговорено на многих форумах
 
RU termostat #20.01.2005 09:49
+
-
edit
 
+
-
edit
 

farm_b

новичок
termostat>>
о PORTD.0 - стоит точно (датчик-то температуру считывает и показывает, вот только он зависает при считывании, но если закоментировать процедуру считывания - все нормально.

Андрей Суворов>>
Да очень похоже что эта ""фича (с)"" происходит из процедуры считывания... теперь писать вручную буду...

Спасибо !
 

+AlS+

новичок
Во вложенном файле KEYBOARD-2.rar находится программа для вывода на экран LCD 16х2 одиночного символа нажатой клавиши на клавиатуре 4х4.

Написана в Algorith Builder для контр 90S8535.

Вроде убрал дребезг программно, по крайней мере у себя его не наблюдал.

Осталось добить чтоб выводила несколько символов подряд. Но это не скоро, к сожалению нет времени... :-(((((((
Прикреплённые файлы:
 
 
+
-
edit
 

termostat

аксакал

+AlS+> Осталось добить чтоб выводила несколько символов подряд. Но это не скоро, к сожалению нет времени... :-((((((( [»]
 


Похоже это очко за использование CodeVisionAVR теми кто экономит время.
RU termostat #20.01.2005 12:14
+
-
edit
 

termostat

аксакал

Знающий человек посоветовал вот это:

//
// Измерение температуры с помощью датчика DS18B20



#asm("cli")
all_off();
temperature_measured=ds1820_temperature_10(0);
#asm("sei")

// Если не было ошибки при измерении:


if (temperature_measured!=-9999)
{
// Имеющаяся в библиотеке процедура годится только

// для DS1820, но не для DS18B20 !


temperature_measured=temperature_measured>>3;

...............




Телесистемы - миниатюрные аудио и видео устройства


Телесистемы - миниатюрные аудио и видео устройства

// telesys.ru
 
RU Hamster1979 #20.01.2005 12:20
+
-
edit
 

Hamster1979

новичок
Здравствуйте. Впервые на форуме. Хотел бы посоветоваться. У меня проблема при использовании VMLAB 3.10 + WinAVR . При симуляции программы вывода на UART тестового сообщения + засветки светодиодов подключеных к порту IO VMLAB через раз зависает (начинает эмулировать о-о-о-о-о-чень медленно гдето на 48ms-де). Настройки скорости симуляции не влияют. Приходиться перезапускатьь VMLAB. Тогда эта фигня проходит. А так прога работает правильно.
 
RU termostat #20.01.2005 12:24
+
-
edit
 
RU Hamster1979 #20.01.2005 12:49
+
-
edit
 

Hamster1979

новичок
Родные примеры и проекты VMLAB для GCC вроде работают тоже с глюками. Только что проверил. Из 6-и перезапусков проекта номер 3 для GСС(там тоже чегото с UART) 2 раза очень долго вычилял 0.4-0.6 ms (несколько минут) в остальных случаях работал без пауз (несколько секунд). Причем все тоже самое на разных компьютерах.
 
+
-
edit
 

janus

втянувшийся
termostat> А как работатет пример родной из VMLAB для WinAVR? [»]
 


3.10 у меня периодически уходит в задумчивость при эмуляции LCD....за 3.9 вроде такого не замечал...Правда, машинка слабенькая...целерон 1000....=(
WBR, janus. http://janus.rbcmail.ru  
RU Hamster1979 #20.01.2005 13:36
+
-
edit
 

Hamster1979

новичок
janus> 3.10 у меня периодически уходит в задумчивость при эмуляции LCD....за 3.9 вроде такого не замечал...Правда, машинка слабенькая...целерон 1000...
 

У меня машина Атлон 2500 а на работе еще мощнее. Вся беда что тормозит, если смотреть по коду, то на пустом месте (например на входе в функцию получившую параметр указатель на FLASH, замирает на скобке { и все, поторомозит с полчаса, а потом работает нормально). Менял настройки скорости, менял Flag WINAVR на GNU89, вроде ставало лучше ненамного, но какая тут связь?
Еще может быть WINAVR коряво обрабатывает выражения типа PORTB=число, хотя в документации написано что с той версии что уменя outp(PORTB,число) уже можно не писать, хотя VMLAB на этих строках чего-то ругается иногда.
 
RU termostat #20.01.2005 14:10
+
-
edit
 

lband

новичок
Привет всем!

Подсажите, как реализовать в tiny26 USART на USI ?
(хотя бы на прием)
Написано, что можно, но конкретно не нашел :(
хотелось бы примерчик ...
 
+
-
edit
 
lband> Подсажите, как реализовать в tiny26 USART на USI ?

У Атмела есть аппнота AN307 (doc4300.pdf) и к ней исходник avr307.zip
"Как USI пpикинуться UARTом".



Atmel Corporation - Microcontrollers


MicrocontrollersAtmel AVR 8- and 32-bitAtmel ARM-based SolutionsMCU Wireless8051 ArchitectureTouchMemoryAutomotiveWireless / RFMore Products
Product News
December 07, 2011Atmel Broadens Portfolio of Lowest Power, Highest Performance 32-bit AVR UC3 Microcontroller Solutions December 06, 2011Atmel Corporation Receives Two Leading Product Awards from EDN China November 23, 2011Atmel Launches Complete Digital Audio Platform for Consumer Applications» More News  
Home > Microcontrollers
Print…

// Дальше —
www.atmel.com
 


 
AD Реклама Google — средство выживания форумов :)

lband

новичок
AlexG>

Вот спасибо ! Зипа то я и не заметил :)
 
1 2 3 4 5 6 7 12

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