Микроконтроллеры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Микроконтроллеры » Старое » Лучше Arduino


Лучше Arduino

Сообщений 31 страница 60 из 286

1

У Arduino, как и у всякой системы, есть и плюсы, и минусы
Критиковать минусы легко
A попробуйте предложить альтернативу, убирая минусы, но не теряя плюсы
То есть, лучше Arduino по всем пунктам

Update
Вынес этот первый пост темы в шапку каждой страницы темы

Отредактировано vt (2019-04-13 11:01:43)

31

Скорей уж, "планета невезения".

32

Зачем ныть и спорить. Возми и делай , продавай, есть спрос если. Если нет это просто хобби твое.

33

arduino stm32
вапше нормально
Сверх скоростной старт и вхождение.
Тем более  в  AVR

Отредактировано selevo (2019-03-16 19:00:45)

34

selevo написал(а):

arduino stm32

Отличия в API минимальны - https://wiki.stm32duino.com/index.php?title=API
STM32, втиснутый в API ардуино, - это как медведь в цирке на велосипеде

35

Зато неучам нравится.
В принципе, калокуб от абдурины вообще ничем не отличается: и то, и другое рассчитаны на обезьян. Вот обезьяны с удовольствием этим Г и пользуются...

36

Eddy_Em написал(а):

В принципе, калокуб от абдурины вообще ничем не отличается

Отличается, он намертво привязан к железу, в отличие от ардуино
По сути, это не HAL
Вот настоящий HAL - http://arm-software.github.io/CMSIS_5/D … index.html

37

Еще одна нафиг не нужная абстракция...
Говнопейсатели все пытаются сделать себе эдакую чудо-библиотеку, которая позволила бы один и тот же код компилировать под совершенно разные платформы. Ну-ну...
Единственный вариант сделать подобное — использовать ртось. Правда, оверхед получится лютейший!

38

Eddy_Em написал(а):

Еще одна нафиг не нужная абстракция...

Так это же и есть всеми любимый CMSIS
Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex®-M processor series and defines generic tool interfaces.

39

vt написал(а):

Так это же и есть всеми любимый CMSIS

как говорится "шах и мат" :)

40

Дело в том что пока CMSIS только для ядра то это норм, оно у всех одинаковое. А вот когда речь идет о периферии то это уже другое... нужно будет глянуть, а вдруг грамотно там все...

41

vt написал(а):

Так это же и есть всеми любимый CMSIS

Советую чуть покопаться там: куча всяких левых функций. Зачем?

42

Eddy_Em написал(а):

куча всяких левых функций. Зачем?

Ну вот, например, USART - http://arm-software.github.io/CMSIS_5/D … e__gr.html
Что убрать, что оставить, что изменить?

43

Все выбросить и писать правильно!
(в сниппетах написано, как нужно писать)

44

Eddy_Em написал(а):

в сниппетах написано, как нужно писать

По-другому это называется dirty hacks )
И это никак не может быть лучше ардуино, потому что это не "simple, low cost tools for creating digital projects by non-engineers"

45

vt написал(а):

И это никак не может быть лучше ардуино

Всё что не ардуина...уже лучше ардуины...

46

Лучше - значит ещё и проще
Простота - главная фича ардуино

47

Раз уж они замахнулись на АРМы им бы туду еще РТОС запихнуть, потому как скрестить несколько библиотек в одно целое не может практически никто (это из non-engineers), и начинают ныть на форумах... но задумка хороша. Я понял что писать универсальные библиотеки это гиблое дело, но раз уж я начал использовать недоОС, то переносить всю задачу из проекта в проект и ее запуск это дело 1 минуты по идее, пока только в 1 проекте на стадии дописания и улучшения. Eddy_Em зря ты так к РТОС относишся это просто мега удобно, и ресурсов не много и памяти много не занимает, моя например 1.5кБ флеш.

48

Вообще прикольно... люди которые не любят и не пользуются ардуино разговаривают о потенциальных плюсах ардуино. :) 

можно наверно еще обсудить плюсы использования конструктора Lego у детей и взрослых :)

49

Lego - классная штука, только жутко дорогущая.
Зато, в отличие от абдурины, если лего собирать не по инструкции, то очень хорошо воображение развивается. Если же по инструкции собирать, то это совершенно бесполезная трата времени, как, собственно, и использование абдурины.

P.S. А ртось - никчемное говно! Однозначно! Потому что если тебе не хватает мозгов написать что-то без РТОС, то это значит, что нужно совершенствовать свои знания! Операционкам не место на микроконтроллерах. Они — для микропроцессоров!!!

50

Eddy_Em написал(а):

Операционкам не место на микроконтроллерах. Они — для микропроцессоров!!!

некоторые пишут на С++.  что думаешь на счет использовании классов и ооп в принципе(в плане встраиваемых систем) ?

51

Пусть пишут. g++ более-менее нормально оптимизирует кресты, поэтому оверхеда получается минимум.
Но лично я кресты не использую. И использовать не собираюсь, т.к. С значительно проще и понятней, чем это говнецо. А уж любители шаблонов вообще доводят до белого каления: смотришь, вроде исходников всего-то несколько десятков килобайт. А собираются они в течение нескольких минут!!!

52

:) как тут у вас все... консервативненько...

53

Eddy_Em написал(а):

P.S. А ртось - никчемное говно! Однозначно! Потому что если тебе не хватает мозгов написать что-то без РТОС, то это значит, что нужно совершенствовать свои знания! Операционкам не место на микроконтроллерах. Они — для микропроцессоров!!!

Я и совершенствую, я же сам ее пишу :) Интересно как у тебя выполняються медленные процессы, которые идеально подходят для фоновых задач. Да и суперцикл не даст такого быстродействия на пробуждения задачи по какому-либо событию (поднятие флага), т.к. ты не можешь телепортироваться по коду, а я могу))) Лучше пусть РТОС съест 3 - 5% времени и будет нормальная система приоритетов, чем суперцикл. Я уже не говорю про любые блокирующие функции.

54

Какой, нафиг, "суперцикл"? Простой КА. В основном цикле main просто поочередно вызываются процедуры автоматов. Если автомату нужно время для перехода из состояния в состояние, он по своей static переменной эту паузу засекает. Скажем, нужно какой-то железке послать инициализацию, подождать какое-то время, а затем уже общаться — переход из состояния xx_SENDINIT в xx_START произойдет лишь по истечению N миллисекунд...
Все достаточно просто.
P.S. А "быстрая реакция" на внешнее событие мне еще никогда не была нужна! Зачем?

55

Eddy_Em написал(а):

Какой, нафиг, "суперцикл"? Простой КА. В основном цикле main

"Оснвоной цикл main" и называется Суперциклом в простонародье, в котором крутится ваш КА, если что. Слэнг такой.

Eddy_Em написал(а):

P.S. А "быстрая реакция" на внешнее событие мне еще никогда не была нужна! Зачем?

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

Отредактировано MasterAlexei (2019-03-18 18:10:13)

56

Atomic-dm написал(а):

Вообще прикольно... люди которые не любят и не пользуются ардуино разговаривают о потенциальных плюсах ардуино. :)

Плюсы не потенциальные, а вполне реальные, каждый пользователь - плюс )
Насчёт не пользуются - на самом деле тоже пользуются, только каким-то своим самопридуманным "ардуино"
И я сомневаюсь, что по итогу оно лучше

57

MasterAlexei написал(а):

"Оснвоной цикл main" и называется Суперциклом в простонародье

Ну, не знаю. Первый раз слышу такой термин.

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

Здесь две-три миллисекунды ничего не решают. Можно и 5мс подождать...
А если реально что-то супер-пупер-мега критичное, то делается отдельная система для этого. С утроенным запасом. И тупо микроконтроллер занимается одной-единственной задачей: пасет некое событие. А то и вообще обычный компаратор поставить и забить...

58

vt написал(а):

Насчёт не пользуются - на самом деле тоже пользуются, только каким-то своим самопридуманным "ардуино"
И я сомневаюсь, что по итогу оно лучше

Ну я не пользуюсь ардуино(хотя пара плат и пара шилдов у меня есть :) ). Отчасти потому что на работе она не подходит и там я код пишу 2-3% времени(остальное другие вопросы по алгоритмам , функциям, подходам) и скорость и легкость не в приоритете. важна надежность и стабильность.

в личных проектах, которые мне действительно интересны можно обойтись любым МК, так как по большому счету нет никаких особых требований ни к скорости, ни к потреблению, ни к чему. Мне очень сложно придумать проект в котором будет куча всего. в основном это очень простые решения. Но на то они и хоббийные проекты - чтобы лучше изучить тему. Сам проект может быть аля "мигание диодом", но помигать лампочкой я могу банально светильник руками щелкать. задача не в том чтобы мигать, задача понять как это все вертится и крутится, чем глубже тем интереснее, чем дешевле и меньше(по габаритам)решение тем лучше. поэтому опять же простота и легкость ардуино(с бутербродом шилдов) не нужна даже в теории. Я вот тут месяца три назад назад из интереса написал на ассемблере  Hello World(на АВРке). убедился что лампочка реально мигает(но это была не цель, а просто проверка)А вот потом несколько часов сидел и в ручную hex переводил в ассемблер , воображая что я человек - дизассемблер. И ведь только для того чтобы чуть лучше понять сами принципы ( человек - код ассемблера - компилятор -прошивка hex - bin - МК - реализация).

В ардуино подходе важен быстрый сеюминутный результат в ущерб понимаю самого процесса и какой-то надежности продукта. просто "взять быстренько и присрать что-то к чему-то" .  Мой опыт в тюнинге и ремонте машин дал мне понимание , что "любое кроилово ведет к попадалову" и если что-то делаешь , то нужно хотя бы стремиться делать правильно. Поэтому для  меня ардуино это полумера - и знаний в этой области не прибавит и потенциально денег на изделиях построенных на ардуино не заработать.

59

вообще решил дополнить пост. Но в этот раз в защиту адруино.

Если бы не было ардуино, то возможно меня бы тут тоже не было :)
Мои интерес к МК проявился тогда когда я почитал статьи про ардуино в интернете и решил составить карту дна одного водоема. Купил ардуино, быстренько подрубил gps по блютусу через модуль, подрубил выход с эхолота и катался на малом ходу , снимая логи в шилд с sd карточкой. тем самым буквально за неделю изучения ардуино с нуля, я смог собрать массив нужных мне данных . Далее была уже работа по изучению этих данных, привязка к карте местности, изучения основ триангуляции и получении цветной карты рельефа дна. Именно это и была цель и ардуино в том случае очень помогла. Плюс дала толчок к интересу в плане программировании МК. Спустя 2 месяца я понял что ардуино это не серьезно и стал гуглить на тему МК. После гугления был выбор в изучении первого МК - stm32, pic, авр, MSP. В интернете понял что stm32 из них самый сложный и что после авр на него переходят со скрипом. Так как у меня опыта не было и для меня сложно было все, то решил начать изучение именно с stm32. Как раз совпало со сменой работы(причем как обычно координально сменил направление) и появилась возможность частично сочетать увлечения и работу в одном + задавать глупые вопросы людям которые в этом разбирались лучше меня.

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

60

Занятно.
А я, наоборот, с абдуриной столкнулся сравнительно недавно (коллега пытался приобщить сына к электронике и у них не получалось что-то там с сервиком сделать). Посмотрел на это угребище, понял, что детям это давать ни в коем случае нельзя. Благо, сын у коллеги и сам забросил это гиблое дело.
Начинал я с пиков почти ровно 10 лет назад: нужно было а) переделать чужую прошивку под управлялку ШД (из ассемблера в С), написать с нуля было проще; хорошо, что тогда уже вполне существовал sdcc, т.к. иначе я ничего сделать не смог бы; б) освоить CAN-шину для более надежной коммуникации. Спустя четыре года мне опять понадобилось с микроконтроллерами повозиться: разработать систему управления спектрографом. Освоил кикад, нарисовал со второй попытки нормальную печатную плату (понятно, что тополог из меня хреновый, но явных косяков на второй раз уже не было), освоил STM32 (сначала с говнистым SPL, потом с opencm3, а позже уже понял, что все "блиблиотеки" — зло и перешел на "чистый" CMSIS). Дальше стал осваивать STM8 (Серега, кстати, дал хороший пинок в эту сторону, прислав мне всяких вольтметров на этой хрени). Попробовал было MSP430 — даже девборду за 200р на ибее купил, но не взлетело: оказывается, там нужен какой-то дюже дорогой программатор и не факт, что он заработает вообще! С нувотонами и гигадевайсами по той же причине — необходимость покупки очень дорогого программатора и отсутствие средств для прошивки МК — не стал связываться.
Я считаю, что самое главное для разработчика МК — это постоянно обкатывать для себя новые узлы периферии, чтобы пополнять свой запас сниппетов. Вот, я CDC из чужого примера переделал, теперь могу подключать STM32F042 по USB к компьютеру (эмуляция PL2303), как-нибудь надо этот код модифицировать для STM32F103 (их у меня тоже немного есть). Разобрался с CAN, I2C, SPI. Таймеры помаленьку пинаю... Валяются уже несколько лет экранчики (ни один не работает, правда), надо разобраться, почему не работают (то ли я кривой код писал, то ли реально все четыре пришли убитые).

Кстати, абдурин у меня несколько есть. Купил одну смеха ради, потыкал, да забросил. А тут прибор поломался, который 20 лет назад на голимой аврке делали. Использовал абдурину для отладки аврского кода (правда, все равно пришлось это потом за 1 день на STM8 портировать, т.к. не нашли аналогичного микроконтроллера, а прибор уже на следующий день на телескоп надо было вешать). Микроконтроллеры позже пришли, и когда у прибора в другом узле МК сгорел, я уже был подготовлен и за пару дней "реанимировал".
Но, честно говоря, после STM32 писать что-то под аврку — как будто бы купаться в сточных водах! Непереносимое ощущение подкатывающей блевоты... Зачем народ покупает эти выблядки (да еще и бакса за 3!), когда за полтора бакса можно "blue pill" на STM32F103 взять, мне непонятно...


Вы здесь » Микроконтроллеры » Старое » Лучше Arduino