Как начать писать программы для микроконтроллеров ?
- brian4ever
- Первый раз сказал Мяу!
- Сообщения: 33
- Зарегистрирован: Пт янв 16, 2009 22:23:41
Как начать писать программы для микроконтроллеров ?
Здравствуйте. Заинтересовался микроконтроллерами после того как собрал пару схем одну на PIC16F819, вторую Простые часы на ATTiny2313. Очень понравилось, с простейшими программаторами и прошивкой проблем не возникло, но появилось желание продолжить опыты и самому научится писать программы.
Беда в том, что не могу найти нормальной среды программирования и обучалки по этой среде. Начать хочется с ATtiny2313. Обучалка по AVR на сайте прочитана, и видимо хороша, но понять её и использовать на практике сложно хотя бы потому что AT90s2313 уже не найти и tavrasm уже устарел и не знаю можно ли его использовать с Attiny2313. Знания языков программирования у меня на школьном уровне, простые программки на Паскале, что то помню рисовал на писишном ассемблере, но давно это было.
Посоветуйте с чего сейчас актуально начать, какую среду разработки использовать, и толковый учебник по этой среде.
Лучше разбираться с ассемблером или сразу осваивать С?
Нужны именно азы, настройка среды под микроконтроллер, конфигурация портов, зажечь светодиод, бегуший огонёк, динамическая индикация, управление матрицей на сдвиговых регистрах, опрос клавиатуры, и.т.д.
Беда в том, что не могу найти нормальной среды программирования и обучалки по этой среде. Начать хочется с ATtiny2313. Обучалка по AVR на сайте прочитана, и видимо хороша, но понять её и использовать на практике сложно хотя бы потому что AT90s2313 уже не найти и tavrasm уже устарел и не знаю можно ли его использовать с Attiny2313. Знания языков программирования у меня на школьном уровне, простые программки на Паскале, что то помню рисовал на писишном ассемблере, но давно это было.
Посоветуйте с чего сейчас актуально начать, какую среду разработки использовать, и толковый учебник по этой среде.
Лучше разбираться с ассемблером или сразу осваивать С?
Нужны именно азы, настройка среды под микроконтроллер, конфигурация портов, зажечь светодиод, бегуший огонёк, динамическая индикация, управление матрицей на сдвиговых регистрах, опрос клавиатуры, и.т.д.
Re: Как начать писать программы для микроконтроллеров ?
brian4ever писал(а):Лучше разбираться с ассемблером или сразу осваивать С?
И то и другое + описание на контроллер. Ассемблер - для понимания работы контроллера и задания жестких временных интервалов (пригодится в качестве вставок в сишный код). Си специализированный на серию контроллеров - на других языках тоже можно, но так сложилось что СИ впереди планеты всей и большинство программ пишется на нем. Это как в компьютерах и опереционных системах- законодатель моды. Ну и даташиты и особенности применения - назубок.
Последний раз редактировалось anatol378 Вс мар 20, 2011 19:59:49, всего редактировалось 1 раз.
Лучше умному тупить, чем тупому умничать
-
dimm1985
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Вс мар 20, 2011 17:09:31
- Откуда: Киев
Re: Как начать писать программы для микроконтроллеров ?
Из опыта, если не планируете строить большие и БЫСТРЫЕ структуры на МК, и в школе паскаль то выбор Си.
Для AVR конечно CodeVisionAVR (CVAVR) там есть codeWizardAVR -мегоудобно но надо англ знать хоть чуть.
В качестве примеров я в свое время юзал my-avr.at.ua просто, без хлама и лишнего текста.
ИМХО
Для AVR конечно CodeVisionAVR (CVAVR) там есть codeWizardAVR -мегоудобно но надо англ знать хоть чуть.
В качестве примеров я в свое время юзал my-avr.at.ua просто, без хлама и лишнего текста.
ИМХО
- brian4ever
- Первый раз сказал Мяу!
- Сообщения: 33
- Зарегистрирован: Пт янв 16, 2009 22:23:41
Re: Как начать писать программы для микроконтроллеров ?
Решил я начать разбираться с 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 не появилась.
Читаю и пытаюсь повторить простейший урок с 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: Как начать писать программы для микроконтроллеров ?
В кодвизарде File -> Generate, Save and exit
Бывает. Причем сохранять надо либо сразу как основной (main.c) вместо того что есть в папке проекта, либо сохранить где угодно но потом зайти в configure project (значек такой с молотком ,отверткой и ключем) add и указать путь к этому файлу.
кстати в кодвизарде есть оч полезная функция file-> code previev, перед тем как сохранить позволяет увидеть код который будет сохранен, или не сохранен.
Бывает. Причем сохранять надо либо сразу как основной (main.c) вместо того что есть в папке проекта, либо сохранить где угодно но потом зайти в configure project (значек такой с молотком ,отверткой и ключем) add и указать путь к этому файлу.
кстати в кодвизарде есть оч полезная функция file-> code previev, перед тем как сохранить позволяет увидеть код который будет сохранен, или не сохранен.
- brian4ever
- Первый раз сказал Мяу!
- Сообщения: 33
- Зарегистрирован: Пт янв 16, 2009 22:23:41
Re: Как начать писать программы для микроконтроллеров ?
А возможно ли код скомпилированный при помощи 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 можно только на С писать или на ассемблере тоже можно?
Я делаю так: 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 можно только на С писать или на ассемблере тоже можно?
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 можно только на С писать или на ассемблере тоже можно?
можно делать ассемблерные вставки. советую поискать в сети книгу, с описанием CV.
[url=http:///]
[/url]
Re: Как начать писать программы для микроконтроллеров ?
CV шьет, в меню выбрать программатор Kanda Systems STK200+/300brian4ever писал(а):Что я делаю нитак? Прошить из CodeVisionAVR пока не имею возможности, программатор 7 проводков и 4 резистора, шьёт только из аvreal,
Тема по 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: Как начать писать программы для микроконтроллеров ?
Коль уж Вы решили работать в среде CodeVision C AVR, то буду иметь смелость рекомендовать книгу М.Б.Лебедева - "CodeVisionAVR. Пособие для начинающих". Лежит на любом углу в сети. У меня она в качестве настольной книги - написана толково и с объяснениями, действительно для начинающих.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

Re: Как начать писать программы для микроконтроллеров ?
Вот обучалка по AVR контроллерам
http://decada.org.ru/project/lessons/ba ... /index.php
А так, рекомендую среду BASCOM.
viewtopic.php?f=20&t=6408
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: Как начать писать программы для микроконтроллеров ?
Ну, а мне для начинания хватило AVR Studio + WinAVR и местной обучалки.
Только у меня был не предлагаемый обучалкой МК AT90S2313, а TINY26L.
Отличие от материала было только в том, что регистр указателя стека назывался не SPL, а просто SP,
что я узнал из даташита на свой МК. Начинал с ассемблера, на нём-же и остановился.
Программатор выбрал UniProf (требует наличие ОС WinXP и COM\LPT порта)
Си у меня для ПК (x86 Visual Studio).
Быстро освоился, так как базовые знания программирования микропроцессоров
у меня уже были.
Только у меня был не предлагаемый обучалкой МК AT90S2313, а TINY26L.
Отличие от материала было только в том, что регистр указателя стека назывался не SPL, а просто SP,
что я узнал из даташита на свой МК. Начинал с ассемблера, на нём-же и остановился.
Программатор выбрал UniProf (требует наличие ОС WinXP и COM\LPT порта)
Си у меня для ПК (x86 Visual Studio).
Быстро освоился, так как базовые знания программирования микропроцессоров
у меня уже были.
I am DX168B and this is my favourite forum on internet!
Re: Как начать писать программы для микроконтроллеров ?
Товарищи подскажите пожалуйста - есть такая схема программатора
http://prottoss.com/projects/AVR910.usb ... rammer.htm
- вопрос такой, не прикончит ли он usb? и кто нить собирал его? и последний вопрос - дайте пожалуйста простенькую схему источника питания для контроллера который будет программироваться....
http://prottoss.com/projects/AVR910.usb ... rammer.htm
- вопрос такой, не прикончит ли он usb? и кто нить собирал его? и последний вопрос - дайте пожалуйста простенькую схему источника питания для контроллера который будет программироваться....
Re: Как начать писать программы для микроконтроллеров ?
gdoom писал(а):простенькую схему источника питания для контроллера, который будет программироваться....
Проще не бывает...
Re: Как начать писать программы для микроконтроллеров ?
Спасибо -
а насчёт программатора - может кто имеет опыт с ним работы, с данной схемой?
а насчёт программатора - может кто имеет опыт с ним работы, с данной схемой?
Re: Как начать писать программы для микроконтроллеров ?
brian4ever писал(а):Здравствуйте. Заинтересовался микроконтроллерами после того как собрал пару схем одну на PIC16F819, вторую Простые часы на ATTiny2313. Очень понравилось, с простейшими программаторами и прошивкой проблем не возникло, но появилось желание продолжить опыты и самому научится писать программы.
Беда в том, что не могу найти нормальной среды программирования и обучалки по этой среде. Начать хочется с ATtiny2313. Обучалка по AVR на сайте прочитана, и видимо хороша, но понять её и использовать на практике сложно хотя бы потому что AT90s2313 уже не найти и tavrasm уже устарел и не знаю можно ли его использовать с Attiny2313. Знания языков программирования у меня на школьном уровне, простые программки на Паскале, что то помню рисовал на писишном ассемблере, но давно это было.
Посоветуйте с чего сейчас актуально начать, какую среду разработки использовать, и толковый учебник по этой среде.
Лучше разбираться с ассемблером или сразу осваивать С?
Нужны именно азы, настройка среды под микроконтроллер, конфигурация портов, зажечь светодиод, бегуший огонёк, динамическая индикация, управление матрицей на сдвиговых регистрах, опрос клавиатуры, и.т.д.
Есть очень хороший курс здесь http://easyelectronics.ru/category/avr-uchebnyj-kurs там много что есть
-
borys
- Держит паяльник хвостом
- Сообщения: 927
- Зарегистрирован: Вт сен 07, 2010 19:27:48
- Откуда: Ташкент
Re: Как начать писать программы для микроконтроллеров ?
Для gdoom.
Опыт работы с программатором AVR910 by prottos имеется. Он вполне работоспособен. Но лучше делать не его, а USBasp. Детали и расходы те же, но работает
намного лучше.
Опыт работы с программатором AVR910 by prottos имеется. Он вполне работоспособен. Но лучше делать не его, а USBasp. Детали и расходы те же, но работает
намного лучше.