1 | |
Программирование микроконтроллеров23.04.2016, 07:10. Показов 5068. Ответов 54
Метки нет (Все метки)
0
|
23.04.2016, 07:10 | |
Ответы с готовыми решениями:
54
Программирование микроконтроллеров Программирование микроконтроллеров Программирование микроконтроллеров Программирование микроконтроллеров |
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
|
|
24.04.2016, 22:07 | 2 |
Сообщение было отмечено Hretgir как решение
Решение
Программировать непосредственно "железо" - нет. У каждого микроконтроллера своя архитектура и соответственно свой, как правило, C-шный или Assembler-ный компилятор.
Однако некоторые контроллеры поддерживают ОС на основе Linux. Соответственно под них можно писать ПО на Lazarus-е. Не дорогим представителем таких МК является BCM2835, установленный в микрокомпьютере Raspberry-Pi c ОС Raspbian. Можно писать ПО под ряд промышленных контроллеров, работающих на ОС Windows-CE. Так же можно писать ПО под сотовые телефоны с ОС Android, в основе их так же микроконтроллеры семейства ARM. А вообще, лучше писать на C. Для микроконтроллеров он на мгого проще, чем монстры, типа VC++ и при желании, если знаете архитектуру микроконтроллера, то освоите его за неделю.
1
|
Модератор
|
|
24.04.2016, 23:55 | 4 |
Я пробовал AVRки для приспособ. Поначалу assembler. Решил попробовать C. Листинги удивили качеством - почти также я бы сделал на асме. А кроме того, когда потребовалось перенести код на другую AVR, для асма нужно было по новому из даташита переопределять вектора прерываний, названия конфигурационных регистров. А на С всё ограничилось заменой процессора в заголовке.
1
|
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
|
|
25.04.2016, 11:32 | 6 |
Честно говоря, с МК со встроенным bluetooth не сталкивался. Как правило, у каждого разработчика есть 2-3 типа МК, с которыми он работает. Остальное можно "прикрутить" за счёт внешней перефирии. Исходя из цены, возможностей, качества и перспективности про С51 можно забыть, AVR-ы в связи с неопределённостью судьбы их производителя и периодической неадекватностью ценовой политики выбирать в качестве основных не советовал бы, хотя контроллеры хорошие. Остаются из дочтупных PIC, MSP, ARM (наиболее ходовые из них LPC и STM32), STM8. Лично я отдаю предпочтение ARM. Собственно BCM2835 относится к этому типу и для него можно писать на Лазарусе (разумеется, при определённых условиях - обвеска и ОС).
Зря вы так. Если "поморгать" лампочками, то и ассемблер пойдёт, а если, например, какие-то интегральные расчёты, обмен через интернет и т.п., то может и получится написать на ассемблере к пенсии... К стати, наиболее критические места в C-шной программе часто делаются, как ассемблерные вставки.
1
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
25.04.2016, 11:47 | 7 |
shyub, все дело в личных предпочтениях и умении. Лично я пишу программы для AVR-ок исключительно на асме. И поверьте мне, это далеко не "мигалки". По времени написания ничуть не медленнее, чем на С. А по качеству, компактности, как небо и земля.
Что касается ARM-ов, то писал и для них. Инициализацию оставляю на С, вся работа исключительно на асме.
1
|
600 / 548 / 210
Регистрация: 24.01.2012
Сообщений: 1,348
|
|
25.04.2016, 13:59 | 8 |
Недавно в интернете наткнулся на микроконтроллер ESP8266. Так он с встроенным wifi.
1
|
25.04.2016, 14:05 [ТС] | 9 |
Мне надо, чтобы с компьютера управлять некоторым аппаратом, выполняющим упражнения на турнике и других спортивных снарядах. Дроид, высотой примерно 300 мм преполагаю, но точно не больше полуметра. Смысл в том, чтобы просто я фиксирую дроида на турнике, в ручную с компьютера, убираю подставку, выбираю упражнение, запуск и он крутится (выполняет упражнение). Всё понятно - это не просто, вес машины и прочее, но именно на это мне в ФИПСе и выдают патент, аппараты построеные с применением патентуемого изобретения будут лёгкие и дешёвые. Всё не могу расписывать тут, пока только признают патентноспособным, производится совместно с комиссией по существу корректировка родового понятия. В общем микроконтроллер будет управлять, будут энкодеры и тактильные кнопки, с компьютера просто будет выбор...программы наверное выбор, или G-кода. Но G-код это не правильное определение, потому что будет синхронизация манипуляторов через энкодеры и прочее. Поэтому скорее выбор программы.
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
25.04.2016, 14:19 | 10 |
Raspberry Pi-3 тоже со встроенным WI-FI. А в предыдущие можно в USB $2-вый Wi-Fi донгл ставить.
Все дело действительно в задачах. ATMega по вычислительной мощности потянет управление прокатным станом. Только оперативы и память программ докинуть. А пригоршня мег так вообще. Ну не на асме же такие задачи писать.
1
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
25.04.2016, 14:24 | 11 |
Fulcrum_013, именно, на асме Легко и непринужденно...
Впрочем, я говорю о себе. Каждый волен выбирать тот инструмент, который устраивает его...
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
25.04.2016, 14:32 | 12 |
ООП на асме легко и непринужденно не бывает к сожалению. Так же как и интегрирование систем дифуров. А то что вытворяет оптимизатор C++ - то еще 20 лет назад глядя на его умения забил на ассемблерные вставки, все равно тот же код получается.
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
25.04.2016, 15:28 | 13 |
Fulcrum_013, зачем валить все в кучу?
1) ООП для микроконтроллеров совершенно не нужен. У них стоит задача быстро управлять, т.к. они решают задачи в реальном времени. Бывает, что времени, ох как в обрез! Впрочем, с ООП на Ассемблере я одно время игрался... На компьютере, правда. Ничего сложного. Только отказался от него. Не нравится мне ООП. Лишние накрутки. Возможно, на компе и годится, но не для контроллеров. 2) Как и интегрирование систем диффуров. Для этого есть комп. Для него я пишу на С++. Впрочем, будет надо, напишу и на асме. Не составит никакого труда. Писал как-то объемные эффекты на асме с применением тригонометрии на ARM-е. Не проще интегрирования , т.к. надо все успеть за определенное время. 3) Никогда оптимизизатор не сделает код лучше, чем человек. Разумеется, если человек понимает толк в программировании на Ассемблере. 4) На асме можно писать для любого контроллера, даже если у него совершенно нет оперативки. На С такой номер не пройдет... 5) На асме программы успевают сделать намного больше, чем аналогичные, написанные на С. И размер кода получается меньше (экономия опять же, не нужен более мощный контроллер) 6) На вкус и цвет товарища нет Каждый волен выбирать то, что ему по душе
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
25.04.2016, 15:46 | 15 |
Hretgir, ESP8266 - не радиомодуль, а модуль WiFi.
Кстати, достаточно неплохой. У себя я его использую в связке с другим контроллером AVR, который выполняет основную работу. Для ESP8266, в принципе, можно написать свою программу, но мне, кажется, все-таки лучше его использовать только для связи с компом.
0
|
25.04.2016, 15:50 [ТС] | 16 |
думаю что вот эту штуку https://ru.wikipedia.org/wiki/Raspberry_Pi как-то можно сопречь с контроллером, управляющим исполнительными механизмами и датчиками, там вроде даже USB порт есть. А управление всем аппаратом уже с ПК.
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
25.04.2016, 15:52 | 17 |
Например просчет траекторий и т.д и т.п используемые для управления всякими девайсами.
Не в обрез а лимит. Если в обрез то про применение данного агрегата к данному процессу можно забыть. Кстати вычислительная мощность той же меги гораздо поболе чем вычислительная мощность УВМ реально управляющих к примеру прокатными станами (управляемо и компами с 800Кгц тактовой и эмуляцией FPU). Кстати ООП помогает время экономить. Indirect call виртуального метода хоть и дольше чем direct call но быстрее и компактнее ветвления, особенно когда вариантов много.
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
25.04.2016, 15:57 | 19 |
Для этой планы нет необходимости сопрягать с дополнительным контроллером.
Сам АРМ может управлять при помощи GPIO Версия 3 имеет на борту WiFi иBluetooth Осваивайте АРМ и вперед!
0
|
25.04.2016, 15:59 [ТС] | 20 |
Fulcrum_013, сложные расчёты не предпалагаются, в перспективе демонстрация тяговых (физических) характеристик аппарата, программирование мне тут не нужно сложное, я даже думал какое-то время через тросики управлять джойстиками, но потом подумал, что так можно не справиться с управлением и просто залажаться - тупо не хватит рук на каждый джойстик.
0
|
25.04.2016, 15:59 | |
25.04.2016, 15:59 | |
Помогаю со студенческими работами здесь
20
Визуальное программирование микроконтроллеров программирование микроконтроллеров pic Втягивание в программирование микроконтроллеров С чего начать? программирование микроконтроллеров Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |