Как начать писать программы для микроконтроллеров ?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
brian4ever
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Пт янв 16, 2009 22:23:41

Как начать писать программы для микроконтроллеров ?

Сообщение brian4ever »

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

Беда в том, что не могу найти нормальной среды программирования и обучалки по этой среде. Начать хочется с ATtiny2313. Обучалка по AVR на сайте прочитана, и видимо хороша, но понять её и использовать на практике сложно хотя бы потому что AT90s2313 уже не найти и tavrasm уже устарел и не знаю можно ли его использовать с Attiny2313. Знания языков программирования у меня на школьном уровне, простые программки на Паскале, что то помню рисовал на писишном ассемблере, но давно это было.

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

Лучше разбираться с ассемблером или сразу осваивать С?

Нужны именно азы, настройка среды под микроконтроллер, конфигурация портов, зажечь светодиод, бегуший огонёк, динамическая индикация, управление матрицей на сдвиговых регистрах, опрос клавиатуры, и.т.д.
Аватара пользователя
anatol378
Мудрый кот
Сообщения: 1833
Зарегистрирован: Вс окт 04, 2009 13:23:12
Откуда: н. новгород

Re: Как начать писать программы для микроконтроллеров ?

Сообщение anatol378 »

brian4ever писал(а):Лучше разбираться с ассемблером или сразу осваивать С?

И то и другое + описание на контроллер. Ассемблер - для понимания работы контроллера и задания жестких временных интервалов (пригодится в качестве вставок в сишный код). Си специализированный на серию контроллеров - на других языках тоже можно, но так сложилось что СИ впереди планеты всей и большинство программ пишется на нем. Это как в компьютерах и опереционных системах- законодатель моды. Ну и даташиты и особенности применения - назубок.
Последний раз редактировалось anatol378 Вс мар 20, 2011 19:59:49, всего редактировалось 1 раз.
Лучше умному тупить, чем тупому умничать
dimm1985
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Вс мар 20, 2011 17:09:31
Откуда: Киев

Re: Как начать писать программы для микроконтроллеров ?

Сообщение dimm1985 »

Из опыта, если не планируете строить большие и БЫСТРЫЕ структуры на МК, и в школе паскаль то выбор Си.
Для AVR конечно CodeVisionAVR (CVAVR) там есть codeWizardAVR -мегоудобно но надо англ знать хоть чуть.

В качестве примеров я в свое время юзал my-avr.at.ua просто, без хлама и лишнего текста.
ИМХО
Аватара пользователя
brian4ever
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Пт янв 16, 2009 22:23:41

Re: Как начать писать программы для микроконтроллеров ?

Сообщение brian4ever »

Решил я начать разбираться с CodeVisionAVR.

Читаю и пытаюсь повторить простейший урок с my-avr.at.ua, зажигающий светодиод на ATmega8.

Думаю, ничего что у меня есть только ATtiny2313, сначала напишу и скомпилирую пример для ATMega8, потом разберусь и переделаю его под attiny2313 зашью и зажгу светодиод, но не тут то было.

Инструкция гласит.

Подключаем программатор с приставкой(и микросхемой) к LPT порту.
Дальше нам нужно запустить Сode Vision AVR
Settings -> Programmer и выбираем Kanda Systems STK 200+/300 и нажимаем ОК.

дальше нажимаем Tools -> Code Wizard AVR
Chip ATmega8
Clock 8.000000 МHz

нажимаем ОК


Где нажимать OK, если у меня на экране нет такой кнопки?
вот что я вижу:
Изображение
Вы меня извините за такой идиотизм, но я с самого утра не могу выполнить простейших примеров по таким вот идиотским причинам.


UPD: Подумал, может под Seven глючит и кнопку OK не рисует, поставил Сode Vision AVR под XP на виртуальной машине. Кнопка OK не появилась.
Последний раз редактировалось brian4ever Вс мар 20, 2011 21:00:44, всего редактировалось 1 раз.
dimm1985
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Вс мар 20, 2011 17:09:31
Откуда: Киев

Re: Как начать писать программы для микроконтроллеров ?

Сообщение dimm1985 »

В кодвизарде File -> Generate, Save and exit
Бывает. Причем сохранять надо либо сразу как основной (main.c) вместо того что есть в папке проекта, либо сохранить где угодно но потом зайти в configure project (значек такой с молотком ,отверткой и ключем) add и указать путь к этому файлу.

кстати в кодвизарде есть оч полезная функция file-> code previev, перед тем как сохранить позволяет увидеть код который будет сохранен, или не сохранен.
Аватара пользователя
brian4ever
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Пт янв 16, 2009 22:23:41

Re: Как начать писать программы для микроконтроллеров ?

Сообщение brian4ever »

А возможно ли код скомпилированный при помощи CodeVisionAVR прошить через avreal в мк ?
Я делаю так: Project/compile затем tools/chip programmer/file/save flash/ сохраняю code.rom, скармливаю его avreal, а он мне выдаёт
Invalid HEX line
'000000:C012"

Что я делаю нитак? Прошить из CodeVisionAVR пока не имею возможности, программатор 7 проводков и 4 резистора, шьёт только из аvreal, обязательно программатор переделаю, но не сегодня.


Поглядел, код сохраняется в текстовом формате а не в hex. Как сохранить hex из CodeVisionAVR?


UPD: ну вот я не безнадёжен. Нашел в папке проекта файл hex, скормил его avreal, включил девайс и светодиод на PD0 весело замигал :)

А в CodeVision можно только на С писать или на ассемблере тоже можно?
svd71
Открыл глаза
Сообщения: 41
Зарегистрирован: Вс фев 06, 2011 16:18:39

Re: Как начать писать программы для микроконтроллеров ?

Сообщение svd71 »

brian4ever писал(а):А возможно ли код скомпилированный при помощи CodeVisionAVR прошить через avreal в мк ?
Я делаю так: Project/compile затем tools/chip programmer/file/save flash/ сохраняю code.rom, скармливаю его avreal, а он мне выдаёт
Invalid HEX line
'000000:C012"

Что я делаю нитак? Прошить из CodeVisionAVR пока не имею возможности, программатор 7 проводков и 4 резистора, шьёт только из аvreal, обязательно программатор переделаю, но не сегодня.


Поглядел, код сохраняется в текстовом формате а не в hex. Как сохранить hex из CodeVisionAVR?


UPD: ну вот я не безнадёжен. Нашел в папке проекта файл hex, скормил его avreal, включил девайс и светодиод на PD0 весело замигал :)

А в CodeVision можно только на С писать или на ассемблере тоже можно?


можно делать ассемблерные вставки. советую поискать в сети книгу, с описанием CV.
[url=http:///]:-)[/url]
Аватара пользователя
DiGiCat
Друг Кота
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Re: Как начать писать программы для микроконтроллеров ?

Сообщение DiGiCat »

brian4ever писал(а):Что я делаю нитак? Прошить из CodeVisionAVR пока не имею возможности, программатор 7 проводков и 4 резистора, шьёт только из аvreal,
CV шьет, в меню выбрать программатор Kanda Systems STK200+/300
Тема по CodeVisionAVR вверху прилепленна..
scio me nihil scire...
_______________________

Изображение <= Жалобная кнопка в правом нижнем углу... )
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Как начать писать программы для микроконтроллеров ?

Сообщение СКАЗОЧНИК »

Я начинал с АТмега8, теперь АТмега16, думаю лучше даже с АТмега16 начинать. =) Курс обучения очень понятный и доступный для чайников avr123.nm.ru
рекомендую.
В конце есть по ПИКам. =)

з.ы. по ТИНИ читал, что есть проблемы с программированием. они вроде как не понимают на быстром прошивании. Надо скорость порта убавлять. (или в программаторе-программе)... Сам не пробовал, хотя ТИНЬКА валяется.
Станислав
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: Как начать писать программы для микроконтроллеров ?

Сообщение SubDia »

Коль уж Вы решили работать в среде CodeVision C AVR, то буду иметь смелость рекомендовать книгу М.Б.Лебедева - "CodeVisionAVR. Пособие для начинающих". Лежит на любом углу в сети. У меня она в качестве настольной книги - написана толково и с объяснениями, действительно для начинающих.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Как начать писать программы для микроконтроллеров ?

Сообщение Мурик »

Вот обучалка по AVR контроллерам
http://decada.org.ru/project/lessons/ba ... /index.php

А так, рекомендую среду BASCOM.
viewtopic.php?f=20&t=6408
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: Как начать писать программы для микроконтроллеров ?

Сообщение DX168B »

Ну, а мне для начинания хватило AVR Studio + WinAVR и местной обучалки.
Только у меня был не предлагаемый обучалкой МК AT90S2313, а TINY26L.
Отличие от материала было только в том, что регистр указателя стека назывался не SPL, а просто SP,
что я узнал из даташита на свой МК. Начинал с ассемблера, на нём-же и остановился.
Программатор выбрал UniProf (требует наличие ОС WinXP и COM\LPT порта)
Си у меня для ПК (x86 Visual Studio).
Быстро освоился, так как базовые знания программирования микропроцессоров
у меня уже были.
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
gdoom
Прорезались зубы
Сообщения: 213
Зарегистрирован: Ср дек 15, 2010 14:37:38

Re: Как начать писать программы для микроконтроллеров ?

Сообщение gdoom »

Товарищи подскажите пожалуйста - есть такая схема программатора
http://prottoss.com/projects/AVR910.usb ... rammer.htm
- вопрос такой, не прикончит ли он usb? и кто нить собирал его? и последний вопрос - дайте пожалуйста простенькую схему источника питания для контроллера который будет программироваться....
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Как начать писать программы для микроконтроллеров ?

Сообщение Jack_A »

gdoom писал(а):простенькую схему источника питания для контроллера, который будет программироваться....


Проще не бывает...
BP.JPG
(5.36 КБ) 741 скачивание
Аватара пользователя
gdoom
Прорезались зубы
Сообщения: 213
Зарегистрирован: Ср дек 15, 2010 14:37:38

Re: Как начать писать программы для микроконтроллеров ?

Сообщение gdoom »

Спасибо - :lol:

а насчёт программатора - может кто имеет опыт с ним работы, с данной схемой?
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

Re: Как начать писать программы для микроконтроллеров ?

Сообщение BigallS »

brian4ever писал(а):Здравствуйте. Заинтересовался микроконтроллерами после того как собрал пару схем одну на PIC16F819, вторую Простые часы на ATTiny2313. Очень понравилось, с простейшими программаторами и прошивкой проблем не возникло, но появилось желание продолжить опыты и самому научится писать программы.

Беда в том, что не могу найти нормальной среды программирования и обучалки по этой среде. Начать хочется с ATtiny2313. Обучалка по AVR на сайте прочитана, и видимо хороша, но понять её и использовать на практике сложно хотя бы потому что AT90s2313 уже не найти и tavrasm уже устарел и не знаю можно ли его использовать с Attiny2313. Знания языков программирования у меня на школьном уровне, простые программки на Паскале, что то помню рисовал на писишном ассемблере, но давно это было.

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

Лучше разбираться с ассемблером или сразу осваивать С?

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


Есть очень хороший курс здесь http://easyelectronics.ru/category/avr-uchebnyj-kurs там много что есть
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Re: Как начать писать программы для микроконтроллеров ?

Сообщение borys »

Для gdoom.
Опыт работы с программатором AVR910 by prottos имеется. Он вполне работоспособен. Но лучше делать не его, а USBasp. Детали и расходы те же, но работает
намного лучше.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»