Есть желание научиться создавать устройства на МК.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 86
Зарегистрирован: Пт янв 21, 2011 07:48:23

Сообщение Sam85 »

доброго времени суток, есть желание научиться создавать устройства на МК. После изучения соответствующей литературы, понял что ассемблер самостоятельно не потяну. Наткнулся, что можно писать на любом языке, Бейсик когда то изучал (лет 15 назад) его понял более менее. Большая ли разница в бейсике для компов и для микроконтроллеров ? Результат компилирования сильно ли отличаются друг от друга ?
Вот это только начало моих вопросов :) жду ответов
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда

Сообщение GARMIN »

Разница в бэйсике небольшая, но я предложил бы си.
На любом процессоре, который поддерживает отладку.
Сначала тупо повтори любой пример для этого процессора.
Когда заморгает светодиод, начинай вдумчиво читать даташит на процессор до понимания логики работы.
Заодно разберёшься в структуре языка. Всё тебе сразу не понадобится, но потрудиться придётся.
И ещё, встроенные системы - это на 90% периферия. Так что прежде всего - даташит на процессор.
Я предложу STM8S Discovery плату с отладчиком. Дёшево и сердито.
Разобрался с ней с нуля за три недели.
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 86
Зарегистрирован: Пт янв 21, 2011 07:48:23

Сообщение Sam85 »

"С" проще будет ?
и где проще и дешевле выписать отладочную плату, а то кукушки в нашем местном магазине радиотоваров микросхему от отладочной платы не отличают
Держит паяльник хвостом
Аватара пользователя
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда

Сообщение GARMIN »

C универсальней и к нему больше микропроцессоров прикрутить можно.
Насчёт платы - ищи по слову STM8S DISCOVERY
Я не знаю, где ты есть, я в Киеве.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 86
Зарегистрирован: Пт янв 21, 2011 07:48:23

Сообщение Sam85 »

тут есть кто нибудь кто сможет ответить на возникающие вопросы по бейсику и по С ? :)
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

я не буду сильно настаивать, но мнение выскажу, т.к. в нем я вижу зерна смысла.

осваивать МК впервые стоит на той платформе и на том языке, для которых уже есть широкий круг "знатоков". поэтому мне кажется платформа stm8 при всей ее привлекательности не самый лучший выбор: выбрав ее вы будете вынуждены слушать советы 2-3 человек, которые, как правило, сами еще новички и могут ошибаться. выбрав какой-нибудь бейсик или паскаль, вы будете внуждены обращаться за помощью так же к крайне узкому кругу людей, и при этом учтите, что большинство выбравших эти "нетрадиционные" языки будут такие же, как вы знатоки, т.е. люди, выбравшие что-то по принципу "лишь бы что". квалификация и качество их помощи будут соответствующие: без обид, вы много можете кому-то помочь с бейсиком?

поэтому я могу дать следующие рекомендации:
1. стартовый МК - любой AVR, оптимально atmega8 или atmega88
2. отладка методом симуляции - средствами AVR Studio и ISIS PROTEUS VSM (не слушайте никого про вред симуляторов!)
3. язык для изучения и начала работы - СИ.

По всем трем пунктам даже на этом форуме вам сможет помочь практически каждый, ну четверо из пяти, в крайнем случае :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 86
Зарегистрирован: Пт янв 21, 2011 07:48:23

Сообщение Sam85 »

ARV писал(а): 1. стартовый МК - любой AVR, оптимально atmega8 или atmega88
2. отладка методом симуляции - средствами AVR Studio и ISIS PROTEUS VSM (не слушайте никого про вред симуляторов!)
3. язык для изучения и начала работы - СИ.

По всем трем пунктам даже на этом форуме вам сможет помочь практически каждый, ну четверо из пяти, в крайнем случае :)))
Благодарю за совет :) такой ответ в принципе и нужен был, что бы знать с чего начать
1. если не смогу найти подобных контролеров, то можно начать с любого другого ?
2. Симуляция-это виртуально можно будет протестировать написанную программу и на конкретном контролере ?
3. Придется изучать "С", тут много тех кто с нуля смог изучить данный язык ?
4. Какой программатор лучше собрать для начала ? LPT порт имеется :)
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

1. для начала осваивания пойдет любой AVR, какой сумеете найти. Конечно, attiny13 не позволит вам многое сделать, но и с ним можно немало интересных штук сотворить.
2. в симуляторе AVR Studio можно будет виртуально просимулировать работу программы, а при помощи PROTEUS кроме программы можно будет просимуляровать еще и поведение схемы - от кнопок и светодиодов до всяких усилителей и т.п. то есть можно будет почти по-настоящему увидеть работу своего устройства даже не брав в руки паяльник. кстати, чисто для обучения программировнию можно и МК не покупать в этом случае.
3. так скажу: тут нет ни одного человека, знающего Си, кто изучил бы его не с нуля :))) любой язык с нуля учится.
4. если "виртуальное обучение" (см. п. 2) вас не устраивает, то для AVR можно сделать программатор а-ля "5 проводков" для LPT или почти такой же по сложности, но для СОМ-порта
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

имхо все таки проще и перспективнее будет освоить микроконтроллеры STM, лучше уж сразу STM32:
купить дешевую отладочную плату Discovery - преимущества:
- на борту есть отладчик/программатор - лучше отлаживать в железе, имхо, чем в симуляторах
- есть кнопки, светодиоды, есть платы с индикатором, дисплеем, сенсорными кнопками, акселерометрами и пр.
- отладчик/программатор можно использовать и для своих плат - не надо ничего паять
- Си компилятор можно использовать от самого разработчика ядра - Keil с ограничением до 32K можно использовать бесплатно, чего вполне достаточно для обучения, есть логический анализатор
- большое количество примеров от производителя микроконтроллеров, но необходимо знание Си
Осваивать Си, тоже имхо, лучше начать с компьютерного - например скачать бесплатный Visual C++ 2008 Express Edition (лучше старый - он поменьше, без наворотов windows 8, полно книг) и начать писать програмки типа Hello, world и т.д.
Встал на лапы
Аватара пользователя
Сообщения: 86
Зарегистрирован: Пт янв 21, 2011 07:48:23

Сообщение Sam85 »

ARV писал(а): 3. так скажу: тут нет ни одного человека, знающего Си, кто изучил бы его не с нуля :))) любой язык с нуля учится.
а
неправильно написал :) (пятница все таки, и конец рабочего дня), перефразирую вопрос "Много ли тут людей которые выучили "С" самостоятельно, не имея за спиной знаний в программирование на других языках ?
И насколько я понимаю весь Си мне явно не нужен будет для программирования на микроконтроллерах, есть ведь необходимый минимум (набор основных команд) ?
И можно ли будет написанный на Си и откомпилированную прошивку протестить на AVR Studio ?
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

меньше сомневайтесь - ставьте себе задачу и грызите гранит науки :) кто стоит на месте - никогда никуда не дойдет, а кто идет - куда-нибудь, да доберется.

1. качаете даташит на приглянувшийся вам МК
2. читаете его сначала бегло, затем подробно, затем еще раза 3-4 повторяете это, пока не достигните просветления способности задавать вопросы так, чтобы самому понимать, о чем они.
3. качаете книжку по основам Си. поступаете с нею так же, как сказано в п.2
4. качаете протеус, устанавливаете, изучаете имеющиеся в нем примеры.
5. качаете IDE (AVR Studio) и компилятор (если студия версии 6 - компилятор уже в ней), осваиваете их по методам п. 2.
6. по мере выполнения п.2-5 задаете вопросы на форуме. учтите, что на глупые вопросы вы скорее всего получите издевательские ответы, поэтому старайтесь даже вопроы задавать после долгих самостоятельных размышлений. и во всяком случае не обижайтесь на подколки, которые все равно будут.
7. когда почувствуете, что уже способны сделать "бегущий огонь на МК" - пробуйте написать программу и заставить ее работать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 86
Зарегистрирован: Пт янв 21, 2011 07:48:23

Сообщение Sam85 »

благодарю :) буду выполнять :) а на подколки мне все равно, знаю что тупить буду безбожно :)
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

oleg110592 писал(а):имхо все таки проще и перспективнее будет освоить микроконтроллеры STM, лучше уж сразу STM32
К гадалке не ходи... тем более что перейти с STM32 на STM8, для совсем уж простых решений - как два пальца...

Сегодня изучение АВР - пустая трата времени... если только не нужно что-то тупо повторить...
"Я не даю готовых решений, я заставляю думать!"(С)
Держит паяльник хвостом
Аватара пользователя
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда

Сообщение GARMIN »

Я не зря дал свой совет. Лучше хорошо подумай.
AVR давно существуют, на них куча примеров. Но простые не имеют отладки, а сложные слишком дороги.
Я начинал с ATMEGA48 и ATTINY2313, потом работал с SAM7, перешёл на STM32, затем освоил STM8.
Всё с нуля за год.
Поэтому, внимательно посмотрев на всё это и на силабсы и на C51, на которых китайцы делают всё что угодно, я предлагаю STM8.
Простая, дешёвая, современная, имеет кучу памяти и флеш, на плате встроенный программатор - отладчик.
Отлаживать в железе и в симуляторе - две большие разницы. Не трать силы и время, догоняя отставший поезд.
Иди вперёд.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6323
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

GARMIN писал(а): Отлаживать в железе и в симуляторе - две большие разницы. Не трать силы и время, догоняя отставший поезд.
Два диаметрально противоположных мнения. Истина где-то посредине. Симулятор никогда не заменит отладку в железе в реальном времени, особенно если на МК навешано еще что-то внешнее, у которого свои времянки. С другой стороны, если прога не работает, что, тупо смотреть на нее и ругаться матом? Я в таких случаях загружаю родимую Студию, расчленяю прогу на фрагменты и исследую подозрительные места. Быстрее, чем изменил байт - перезалил в МК - опять тупо смотришь.
Ну, у всякого препода своя метода.
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

В IAR для STM8 или STM32, и Keil для STM32 можно также симулировать. Для AVR лучший отладчик это светодиод или usart (imho).
Держит паяльник хвостом
Аватара пользователя
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда

Сообщение GARMIN »

oleg110592 писал(а):Для AVR лучший отладчик это светодиод или usart (imho).
Да, светодиод в отладке повышает скилл телепатии :) Это я уже проходил на меге 44, там, где был занят uart. Жестокий мазохизм.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

для avr, если uart занят можно использовать spi - все равно для прошивки контакты выведены:
Есть прошивка Гудвина, сделанная на основе этого:
http://www.tuxgraphics.org/electronics/ ... 7052.shtml
можно делать отладку по ногам spi а смотреть в обычном терминале:

Код: Выделить всё

После прошивки подключаем терминалку на скорости 115200 и смотрим отладочный вывод из target
Функции в target:
void init_debug(void)
{
  PORTB=0x00;
  DDRB=0x38;
  PORTB.3=1; // сигнал MOSI программатора - используется как SS
  delay_ms(1);
  PORTB.3=0;
  delay_ms(1);
}

void putchar( char c)
{
  unsigned char n;
  for (n=0;n<8;n++)
  {
    if (c & 1) PORTB.4=1; // сигнал MISO программатора - данные
    else PORTB.4=0;
    PORTB.5 =0; // сигнал SCK программатора - clock
    delay_us(100);
    PORTB.5 =1;
    delay_us(100);
    c=c>>1;
  }
}  
пробовал - нормально работает, никогда не пользовался - в основном в моих проектах есть или uart/485 или индикатор, чего вполне достаточно для отладки
Встал на лапы
Аватара пользователя
Сообщения: 86
Зарегистрирован: Пт янв 21, 2011 07:48:23

Сообщение Sam85 »

если не сложно, скиньте небольшую не откомпилированную программу на Си для АVR :) с описанием того что она делает
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

не очень, но почитать можно:
http://avr-start.ru/?p=86
Ответить

Вернуться в «Разные вопросы по МК»