Перейти к содержанию
    

Выберите на браузере

Вид->Вид кодировки->кириллица(Windows)

Посмотрю,может в страницах автоматически можно задать браузеру команду насчет кодировки.

 

Добавил свой адаптер понипрога

Программаторы->PonyProg

 

Что там с Nix-06 ? Ато схему уже расположил.

 

Платы мне уже сделали. Буду паять. К сожелению у меня нет свободных клавиатуры и дисплея. Я их уже оплатил, но заберу не раньше чем на следующей неделе. Пишу статью. Стараюсь подойти к этому серьёзно. Кстати накатаю и примеры готовых решений (кто-то просил) в том числе и в варианте с PC, в том числе и с USB. Судя по тому как размахнулся закончу не раньше чем ч/з месяц. Но надеюсь это будут рабочие проверенные прграммы с кучей коментариев. Схему пульта дорисую по приходу клавиатуры то есть на следующей неделе. Другие модули вы уже можете сами начинать.

 

Кто-то спрашивал номинал кварца. В принципе ответ, который ему дали правильный, но для подключения модулей RS232 и USB кварц всё-таки понадобится. Я рекомендую 14745600 (или 7372800). Кондёры к нему подключённые 15-33pF. Все остальное верно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поскольку в части АВР могу смело причислить себя к новичкам, позвольте перечислить то, с чем столкнулся сам и что борол с помощь этого форума и здравого смысла. Кое-что утрирую конечно. Не всеми вопросами я задавался, но для порядка. И так, проблемы были такие:

 

1) Что значит "запрограммировать контролер"?

2) Как программа попадает в контролер?

3) Какой компилятор выбрать, где скачать? Зачем осваивать компилятор, который компилирует до 4 кбайт при памяти контроллера 8 и более килобайт? Купить лицензию?

4) Как правильно начать работу с компилятром, открыть проект? Почему он ругается то на нехватку файлов, то на ткст программы? Что он этим хочет сказать?

5) Что такое "заголовочный файл" и какие они бывают? Зачем они нужны?

6) Как проверить текст программы на правильность и как правильно писать изначально?

7) Что прочитать и где взять чтоб научиться программировать на си? (в моем случае последнюю прогу написал лет 15 назад. много воды утекло с тех пор. не сразу "врубаюсь".)

8) Где бы взять простеньких прог чтоб посмотреть как они работают и как их адаптировать к разным контроллерам? Типичные примеры с описанием "как для идиота" что, где и зачем какая букавка. (вплоть до черточек и запятых, это нужно для быстрого и полного понимания синтаксиса и правил написания строк программы.)

9) Приемы программирования?

 

Потом напишу еще.

Удачи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

зайдите например на http://www.rambler.ru и так и спросите:

 

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

"си для мк"

"avr на примерах"

 

спрашивайте поисковик что вас интересует и получайте ответы.

 

"как сделать электронное устройство"

 

Пишу статью. Стараюсь подойти к этому серьёзно. Кстати накатаю и примеры готовых решений (кто-то просил) в том числе и в варианте с PC, в том числе и с USB. Судя по тому как размахнулся закончу не раньше чем ч/з месяц. Но надеюсь это будут рабочие проверенные прграммы с кучей коментариев.

 

Низкий поклон тебе! Делаешь для людей. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Что значит "запрограммировать контролер"?

прошивка->Intel совместимым компьютером->программой->проводом->в спец порт "контролер"

2) Как программа попадает в контролер?

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

3) Какой компилятор выбрать, где скачать?

все!!! и любой для слова AVR все равно они все не доросли до Intel компиляторов

Зачем осваивать компилятор, который компилирует до 4 кбайт при памяти контроллера 8 и более килобайт? Купить лицензию?

да

4) Как правильно начать работу с компилятром, открыть проект? Почему он ругается то на нехватку файлов, то на ткст программы? Что он этим хочет сказать?

сырость кривизна и т.д.

5) Что такое "заголовочный файл" и какие они бывают? Зачем они нужны?

по Страйутструпу в 1990-еHiader - заголовочный файл классика для С это #include "stdio.h"

6) Как проверить текст программы на правильность и как правильно писать изначально?

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

7) Что прочитать и где взять чтоб научиться программировать на си? (в моем случае последнюю прогу написал лет 15 назад. много воды утекло с тех пор. не сразу "врубаюсь".)

фамилия Шпак написал для AVR и PIC читать терпимо

8) Где бы взять простеньких прог чтоб посмотреть как они работают и как их адаптировать к разным контроллерам? Типичные примеры с описанием "как для идиота" что, где и зачем какая букавка. (вплоть до черточек и запятых, это нужно для быстрого и полного понимания синтаксиса и правил написания строк программы.)

полный бардак в документациях

здесь пытаемся что-то разумное, светлое и прекрасное написать

9) Приемы программирования?

 

я сам в AVR новичек

я буду писать так

сначало класика

1 инициализируем

2 пишем подпрограммы в идеале мах25 строк

узкоспециализированное решение для микропроцессоров AVR

3 главный зацикленный цикл (кошмар :ohmy: )

 

язык не важен Java C Pas Asm Basic

 

 

15 лет назад какой язык был?

Удачи!

само собой разумеется :)

 

 

сегодня было время на работе

победил кривизну AVR GCC

итак моя readme.txt для AVR GCC

 

WinXP + AVRGCC + Atmega16 + LED

1.Скачиваем 22Mbyte WinAVR GCC

http://surfnet.dl.sourceforge.net/sourcefo...421-install.exe

2.Инсталируем WinAVR-20060421-install.exe в C:\WinAVR

3.Создаем каталог C:\WinAVR\work\proba\

4.копируем туда исходник C:\WinAVR\work\proba\proba.c

спасибо за кривой исходник от http://www.sapunoff.ru

 

//=========================================================

//ATmega16 моргает светодиодом на порту PС0 21pin

//используем библиотеки

#include <inttypes.h>// не верю не нужны здесь типы

#include <avr/io.h>// а вот это пожалуй да

#include <avr/interrupt.h>// не верю какие int

#include <avr/signal.h>//не верю

//подпрограмма задержки AVR //на Intel за такое ставят двойки и выгоняют--

//Минимальная задержка с кварцем 4MHz, равна 1 ms

// При пошаговой отладке эту функцию можно оключить

void delay_ms(unsigned short ms){

unsigned short outer1, outer2;//init он и в африке Init

outer1 = 200; //init он и в африке Init

while (outer1) { //зациклиться кошмар :O

outer2 = 1000; //init он и в африке Init

while (outer2) { //еще зациклиться кошмар на кошмар :O

while ( ms ) ms--; //еще зациклиться кошмар на кошмар на кошмар:O

outer2--; //расcасыватся по единичке

}

outer1--; //расcасыватся по единичке

}

}

//Основная программа ===================================

void main(void){

DDRC |= _BV(PC0); //Установить линию 0 порта С в "1" т.е. на вывод

while(1) { //Бесконечный цикл обязательный кошмар для микропроцессоров

PORTC &= ~_BV(PC0); //Сбросить бит PС0 в "0" = 0V, светодиод включен

delay_ms(500); //Ждем 0.5 сек.

PORTC |= _BV(PC0); //Установить бит PС0 в "1" = 5V, светодиод выключен

delay_ms(500); //Ждем 0.5 сек.

}

}

//=======================================================

 

5.создаем настроечный файл утилитой "MFile"

C:\WinAVR\bin\wish84.exe mfile.tcl

Makefile

MCUtype

ATmega

mega16

Makefile

C/C++source криво прописывает путь !!!

File

SaveAs

C:\WinAVR\work\proba\Makefile

6.Запускаем редактор

C:\WinAVR\pn\pn.exe

Открываем настроечник C:\WinAVR\work\proba\Makefile

Ctrl+O

находим кривой параметр !!!

CPPSRC = main.cpp

правим ручками на место нашего исходника например:

#CPPSRC = main.cpp

CPPSRC = C:\WinAVR\examples\proba\proba.c

Закрываем настроечник

7.Открываем исходник C:\WinAVR\work\proba\proba.c

Настраиваем параметры компиляции компилятора make.exe

Tools

Options

Tools

C/C++

Add

Name:my make all <--

Command:make

Folder:%d

Parameters:all <--

Shortcut:Нет

Save:Current File

Добавляем чистку

Add

Name:my make clean <---

Command:make

Folder:%d

Parameters:clean <---

Shortcut:Нет

Save:Current File

8.компилируем и создаем шестнадцатиричную прошивку testpp.hex для ATmega16

Tools

my make all

9.шестнадцатиричную прошивку testpp.hex можно шить в ATmega16

C:\avw125r4>writeATmega16_stk200.bat atmega16.hex

на 21 ножку она же PORTC 0 светодиод

подаем 5в питание -> светодиод моргает

 

Wed Sep 27 13:50:43 GMT 2006 Efremov Artem

где-то внизу фотография работающей ATmega16

только что прошил, смотрю моргает

эх ктобы мне такиую readme-шечку

все один да один все монолог до монолог

post-19688-1159375030.jpg

Изменено пользователем artem100

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2Artem

 

Пришпилю через пару дней к примерам на Си,если критики не прихлопнут. :)

 

По вопросам от smk ,думаю можно на этой базе собрать раздел "С чего начать?",естественно немного подредактировав вопросы и предстатив более развернутые ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Artem100 у меня два серьёзных вопроса. :)

Первый. Вы уверены что по Вашему "путеводителю" любой начинающий найдёт дорогу? Это я к вопросу о сложности написания примеров использования.

Второй. О каком таком компиляторе Intel идёт речь. И кто именно до него не дорос? Фамилию.

 

Есть и более мелкие вопросы. Ну, например, почему цикл это "кошмар". :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Artem100 у меня два серьёзных вопроса. :)

Первый. Вы уверены что по Вашему "путеводителю" любой начинающий найдёт дорогу?

Меня так учил Borland

пошаговая шпаргалка readme.txt десятилетиями проверенна работает

Хотите редактировать редактируйте :)

главное соблюсти три принципа

1 что надо иметь до действий

2 что надо сделать

3 что мы получим в результате

 

в местном случае

1 какой компилятор и какая микросхема

2 что нажимать

3 как микросхема будет работать

Это я к вопросу о сложности написания примеров использования.

не понял писать или повторять? повторять по readme.txt

Второй. О каком таком компиляторе Intel идёт речь.

C:\WINDOWS\system32\debug.exe C:\Delphi7\Bin\delphi32.exe и т.д. и т.п.

И кто именно до него не дорос? Фамилию.

это я такое где-то? когда-то ? там вопрос про чтокакие компиляторы был

Есть и более мелкие вопросы. Ну, например, почему цикл это "кошмар". :)

заставляя многоразрядный Intel-совместимый всеми разрядами синхронно беспрерывно щелкать мы его просто сжигаем

меня учили во время вялотекущего перебора по принципу сравнил если годиться, то решил. Никаких "форсажей"

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

мне за такие решения ставили двойки

Правда тут на какае-то спящие режимы натыкаюсь.

 

на местном языке С я наткнулся на конструкцию void main(void){ while(1){} }то есть

самое главно( не возратить ни ошибку ни правду){ пока(правда){молотить без остановки всегда} }

вот если бы не единица, а переменная тогда даем расслабится многоразрядному и горячему Intel-у или SPARC-у

 

но мы что-то от темы уходим

 

Getting started AVR

 

научите меня на местном программировать?

с удовольствием поучусь :smile3046:

 

P.S. глянул на получившуюся readme.txt первая мысль ну и кривой компилятор :(

текст написан на одном дыхании без правок

пока увидел только одну несущественную опечатку c:\winavr\example...<- c:\winavr\work\proba\proba.c

при расписывании названий меню на таких форумах теряются пробелы

ухудшается логичность и читаемость :angry2:

кому не лень можете оригинал скачать

readme.txt

Изменено пользователем artem100

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Второй. О каком таком компиляторе Intel идёт речь.

C:\WINDOWS\system32\debug.exe C:\Delphi7\Bin\delphi32.exe и т.д. и т.п.

Есть и более мелкие вопросы. Ну, например, почему цикл это "кошмар". :)

заставляя многоразрядный Intel-совместимый всеми разрядами синхронно беспрерывно щелкать мы его просто сжигаем

 

Немного у Вас сумбур в голове. :) Но это бывает по первости

 

debug - это не компилятор, а Delfi - это не компилятор Intel. :) Для Intel х86 ещё можно сказать.

 

Кто Вам сказал что заставляя работать Intel или другой CPU - мы его сжигаем. Как правило процессору ничего не происходит при непррывной работе даже за десятки лет. Если он работает по паспортным характеристикам. Снашиваться там практически не чему. Только старение.

 

Вот отрывок из статьи которую я пишу.

 

Часто раздаются реплики что программирование МК ни чем не отличается от программирования прикладного (Например на PC). Смею утверждать что это высказывание не верно. Хотя в общем то есть много общего, но существуют и серьёзные отличия. Рассмотрим два отличия понимание которых нам понадобится в будущем:

1) Программа на PC пишется таким образом чтобы минимально занимать ресурсы компьютера. Либо при "данном потреблении" обеспечивать максимальные возможности. Программа на МК должна просто выполнять свою функцию. То есть для МК считается вполне успешной программа, которая занимает 97% процессорных ресурсов. И наоборот если процессор занят на 30%, то, как правило, это говорит о неправильном выборе МК. (Исключения имеют право на жизнь)

2) Программа на МК пишется "на всю жизнь". То есть максимально тестируется. Максимально устраняются ошибки. "Вылизываются" алгоритмы. Расширение предусматривается только если оно явно просматривается либо предположительно возможно. В программе для PC должны быть изначально заложены возможности для расширения и взаимодействия с другим программным обеспечением.

Оба этих отличия проистекают из того, что программа МК - есть практически часть этого МК и не предусматривает частую смену. Даже если используется bootloader. Пользователь должен иметь возможность использовать изделие в том виде, в котором оно было ему поставлено. И смена программного обеспечения может рассматриваться только как факультатив (например для расширения возможностей изделия).

Рассмотрим одну особенность МК, которая также влияет на написание программ для МК. Мы безусловно привыкли что среди микропроцессоров для PC господствует архитектура Intel, но для МК всё не так запущено. :) Сотни МК почти мирно уживаются на рынке. То та то другая архитектура вырывается вперёд. Мы рассматриваем семейство AVR, хотя в этом классе также из наиболее известных мы имеем ещё PIC и MSP430. Обратите на слово семейство. Это означает что при том же ядре (системе команд) выпускается несколько (иногда несколько десятков) МК отличающихся набором периферийных узлов, вычислительной мощностью, энергопотреблением и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Программа на МК пишется "на всю жизнь". То есть максимально тестируется. Максимально устраняются ошибки. "Вылизываются" алгоритмы.

В соглашении пользователя проги для ПК есть отмазка изготовителя о ущербе нанесенной программой. Максимум возврат стоимости проги (более крупного возмещения не встречал), а за збой в работе РЭА можно ответить по факту нанесенного ущерба.

Это очень существенная разница.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

повторы какие-то

 

Тут вы не правы.

 

Но мы явно в сторону от Start for AVR уходим

Изменено пользователем artem100

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Немного у Вас сумбур в голове. :) Но это бывает по первости

d AVR я ничего не знаю жду статей

debug - это не компилятор, а Delfi - это не компилятор Intel. :) Для Intel х86 ещё можно сказать.

не согласен

Кто Вам сказал что заставляя работать Intel или другой CPU - мы его сжигаем.

Проверенно работало на чипах без внутренней термозащиты.

Но нигде вы не найдете упоминание, кроме архивов Intel.

Как правило процессору ничего не происходит при непррывной работе даже за десятки лет. Если он работает по паспортным характеристикам. Снашиваться там практически не чему. Только старение.

 

Вот отрывок из статьи которую я пишу.

 

Часто раздаются реплики что программирование МК ни чем не отличается от программирования прикладного (Например на PC). Смею утверждать что это высказывание не верно. Хотя в общем то есть много общего, но существуют и серьёзные отличия. Рассмотрим два отличия понимание которых нам понадобится в будущем:

1) Программа на PC пишется таким образом чтобы минимально занимать ресурсы компьютера. Либо при "данном потреблении" обеспечивать максимальные возможности. Программа на МК должна просто выполнять свою функцию. То есть для МК считается вполне успешной программа, которая занимает 97% процессорных ресурсов. И наоборот если процессор занят на 30%, то, как правило, это говорит о неправильном выборе МК. (Исключения имеют право на жизнь)

2) Программа на МК пишется "на всю жизнь". То есть максимально тестируется. Максимально устраняются ошибки. "Вылизываются" алгоритмы. Расширение предусматривается только если оно явно просматривается либо предположительно возможно. В программе для PC должны быть изначально заложены возможности для расширения и взаимодействия с другим программным обеспечением.

Оба этих отличия проистекают из того, что программа МК - есть практически часть этого МК и не предусматривает частую смену. Даже если используется bootloader. Пользователь должен иметь возможность использовать изделие в том виде, в котором оно было ему поставлено. И смена программного обеспечения может рассматриваться только как факультатив (например для расширения возможностей изделия).

Рассмотрим одну особенность МК, которая также влияет на написание программ для МК. Мы безусловно привыкли что среди микропроцессоров для PC господствует архитектура Intel, но для МК всё не так запущено. :) Сотни МК почти мирно уживаются на рынке. То та то другая архитектура вырывается вперёд. Мы рассматриваем семейство AVR, хотя в этом классе также из наиболее известных мы имеем ещё PIC и MSP430. Обратите на слово семейство. Это означает что при том же ядре (системе команд) выпускается несколько (иногда несколько десятков) МК отличающихся набором периферийных узлов, вычислительной мощностью, энергопотреблением и т.п.

в отрывке из статьи Вы пишете аккуратно

Полностью согласен

а вот с терминологиейКомпилятор

C:\WINDOWS\system32\debug.exe

C:\Delphi7\Bin\delphi32.exe

...

и даже определенных ситуациях Интерпретатор с помощью C:\jdk150\bin\javaС.exe C:\jdk150\bin\java.exe ведет себя как Компилятор

Симуляторы надеюсь тоже местные потрогать :)

С терминологией

Компилятор - Преобразователь текста в двоичный код огромная масса debug delphi bcc16 bcc32... etc.

Интерпретатор - Выполнятель текста(кода) без преобразования Из современных например - C:\jdk150\bin\java.exe

Симуляторы - Симулировать оболочку Различные виртуальные машины одной Операционной системы в другой Операционной системе. Симулирование физического устройства программной оболочкой.

Тут вы не правы.

 

Но мы явно в сторону от Start for AVR уходим

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Этот сайт посвящен чайникам,желающим освоить программирование микроконтроллеров АВР, но не знающим с чего начать.

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

Да я не то имел ввиду! Ошибку на исправьте на заглавной странице, а то не солидно как то...

 

...

питать буфер от LPT1 порта не получиться

...

Вот тут бывает "очень сильное колдунство" :) у меня, например, прекрасно (правда через раз:)) зашивалась М128 подключенная через 244-й без питания вообще! т.е. питания для нее и для 244-го хватало того, что натекало через защитные диоды с сигнальных линий. Долго я репу чесал чегой то оно у меня через раз прошивается...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я предлагаю модульную структуру.

1) Сам контроллер. Все порты выведены единым образом на разъёмы.

2) Подключаемая переферия. Исходя из п.1 может подключатся к любым портам.

 

Это даёт возможность подключать нужную переферию.

 

Предлагаю следующую схему контроллера. Понравится сделаю плату и остальную переферию.

 

Вопрос чайника! Где приобрести ЖКИ HDM20416L или какой другой подходящий по г.Москве или инет-магазине. Заранее благодарен! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я предлагаю модульную структуру.

1) Сам контроллер. Все порты выведены единым образом на разъёмы.

2) Подключаемая переферия. Исходя из п.1 может подключатся к любым портам.

 

Это даёт возможность подключать нужную переферию.

 

Предлагаю следующую схему контроллера. Понравится сделаю плату и остальную переферию.

 

Вопрос чайника! Где приобрести ЖКИ HDM20416L или какой другой подходящий по г.Москве или инет-магазине. Заранее благодарен! :)

 

В Чип и Дип. 20 символьный 4 строчный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я предлагаю модульную структуру.

1) Сам контроллер. Все порты выведены единым образом на разъёмы.

2) Подключаемая переферия. Исходя из п.1 может подключатся к любым портам.

 

Это даёт возможность подключать нужную переферию.

 

Предлагаю следующую схему контроллера. Понравится сделаю плату и остальную переферию.

 

Вопрос чайника! Где приобрести ЖКИ HDM20416L или какой другой подходящий по г.Москве или инет-магазине. Заранее благодарен! :)

 

В Чип и Дип. 20 символьный 4 строчный

 

Вы имеете в виду фирму DATA VISION DV-20400S2RT/R и подобные ? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...