Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с микроконтроллерами
Форум разработчиков электроники ELECTRONIX.ru > Дополнительные разделы - Additional sections > Предлагаю работу
Страницы: 1, 2
Loma
Здравствуйте!
Нужна помощь в программировании микроконтроллеров для хобби-проекта.

Оплата почасовая, 300 рублей в час. Нагрузка примерно пару часов в неделю.

Примерные вопросы: настроить АЦП/ЦАП, включить GPIO, наладить связь по USB, как сделать так чтобы отпустило пожалуйста просыпаться от прерывания, как уметь в многопоточность?.. То есть не рассказать мне как это сделать, а прям вот ррраз и готовый кусок кода что бы например АЦП 100Kb/s прямо в память писало. Оплата на сберкарточку.

Спасибо,
2uklxlpln2mi@mail.ru
hasl
Раз и готового кода в интернете полно
Да во только он не помогает большинству

Но вы еще за это согласны платить?
ivnor
есть же видосы на Ютабчике, посмотрел и ты кул прогер
kovigor
Цитата(Loma @ Sep 25 2018, 06:58) *
наладить связь по USB

С USB не выйдет так просто, ИМХО, это очень сложная штука. Я в свое время запускал USB на самых разных МК. Пришлось детально изучить документацию на сами МК, проштудировать спецификацию USB и книжку Гука, и только потом я начал что-то и как-то понимать и делать самостоятельно. И то постоянно приходилось держать под рукой аппаратный сниффер, с его помощью снимать обмен по шине и потом анализировать полученные осциллограммы. Да, никаких библиотек и проч. не использовал, все писал сам. Сроки ? У меня "от нуля" до момента создания первого USB HID device прошло месяца два, если не три ...

P.S. Многопоточность, USB ... Может, вам будет лучше сразу взять готовую плату с ARM, работающим под Linux ?
smart_pic
Какой МК желаете освоить?
Если PIC18, PIC32 - то смогу помочь.
ТСР, ВЕБ на контроллере поднять, ШИМ , ИК управление - хорошо знаю.
Но за USB не ручаюсь.
Loma
Цитата(hasl @ Sep 25 2018, 11:52) *
Раз и готового кода в интернете полно
Да во только он не помогает большинству

Но вы еще за это согласны платить?


Цитата(ivnor @ Sep 25 2018, 12:34) *
есть же видосы на Ютабчике, посмотрел и ты кул прогер


Вот всё совершенно верно подмечено. Я так и думала: видосики, форумчики, там же два байта всего, а 512Kb хватит на всех.....
Ну явно же проще чем компьютерное зрение и всё такое прочее.....
Теперь согласна платить)))))))
hasl
Из-ваших слов сказал бы что вам нужен репетитор, а не готовый код.
К тому же если взять STM32, для него есть "замечательная утилита" которая конфигурирует железо и создает проект
Дальше уже чисто программирование, а также опыт использования и применения, который за пару часов не передашь
Как писали выше его нужно заработать на собственных шишках
К тому же есть среда ардуино, в которой с железом вообще не нужно заморачиваться, только шлепайте свои хотелки и Hello Word-ы

Если вам нужен репетитор
и согласны от 500рэ, пишите в личку

Иначе ищите студента с последнего курса, который вам "преподаст" материал
kovigor
Цитата(hasl @ Sep 25 2018, 09:46) *
Иначе ищите студента с последнего курса, который вам "преподаст" материал

Только будьте готовы к тому, что искать придется долго. Очень долго. Да если и есть такие студенты, то они уже 1000 раз трудоустроены и такими вещами подрабатывать не будут ...
AlexandrY
Цитата(Loma @ Sep 25 2018, 06:58) *
Спасибо,

Надо сразу определиться с каким семейством микроконтроллеров хотите работать.
Потому что у всех работа с АЦП/ЦАП, GPIO, USB и многим другим отличаются так сильно, что переучиваться на другое семейство придется многие месяцы даже для опытных разработчиков.
Рекомендую сразу выбирать наиболее перспективное, документированное и с максимальной номенклатурой.
Это скорее всего будет семейство Kinetis от NXP.
Там же есть большое количество примеров хобби проектов:
Hexiwear projects - https://www.hexiwear.com/shop/
Quadcopter Drone Reference
3-phase PMSM Vector Control Reference
Вот большой список
Ну еще в mbed самые интересные проекты сделаны на Kinetis

Кстати утилита конфигурирования у Kinetis лучше чем у STM32.

Если нужен продвинутый уровень, то есть открытый рефересный проект под Mbed с демонстрацией портирования и использования RTOS
Loma
Цитата(hasl @ Sep 25 2018, 13:46) *
Из-ваших слов сказал бы что вам нужен репетитор, а не готовый код.


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

Это неосуществимая хотелка???
hasl
осуществимая
только вам легче станет если:
в коде у вас будет только Callback который будет вызывается по завершении преобразования АЦП

какой смысл в таких уроках, лучше потратье свое время и бесплатно изучите ардуино - эффект тот же самый

Вы даже не знаете какие МК использовать, коих великое множество и все сразу никто и никогда не изучает.

Разговор как с ребенком который начал ходить в садик и который просто орет - "ХОЧУ"

Определитесь с целями и задачами

Если есть цель сделать свою моргалку

так и скажите хочу моргать с такой то частотой, напишите мне код и разъясните
Loma
Цитата(AlexandrY @ Sep 25 2018, 14:04) *
Надо сразу определиться с каким семейством микроконтроллеров хотите работать.
Потому что у всех работа с АЦП/ЦАП, GPIO, USB и многим другим отличаются так сильно, что переучиваться на другое семейство придется многие месяцы даже для опытных разработчиков.

Цитата(AlexandrY @ Sep 25 2018, 14:04) *
Это скорее всего будет семейство Kinetis от NXP.


Спасибо!!! О таких даже не слышала! Выглядят подходяще..... Они действительно так популярны???

По поводу семейства и специальности специалиста.... Семейство это грубо говоря ARM или хотя бы Cortex или прямо таки Kinetis???
AlexandrY
Цитата(Loma @ Sep 25 2018, 10:14) *
Спасибо!!! О таких даже не слышала! Выглядят подходяще..... Они действительно так популярны???

По поводу семейства и специальности специалиста.... Семейство это грубо говоря ARM или хотя бы Cortex или прямо таки Kinetis???

Все к сожалению сложнее.
Если в arduino на ATMega вы имеете и ядро и периферию одного производителя и можете абсолютно все что надо узнать из одного мануала, то с ARM-ами все хуже.
Там есть фирма ARM выпускающая ядра ARM Cortex-M3, M4, M7 ..., Cortex-A5, A7, A9 ...
А есть производители SoC-ов c ядром ARM. Эти производители (ST, NXP, TI, Infineon, Microchip ...) вставляют в чипы свою периферию.
Поэтому нет единого мануала в котором описано все.
Надо читать талмуды от ARM, например: ARM®v7-M Architecture Reference Manual, ARM® Cortex®-M4 Processor Technical Reference Manual, Cortex™-M4 Devices Generic User Guide.
И надо читать талмуды от производителя, например Kinetis K66 Sub-Family Reference Manual.
Все собрание сочинений весит не меньше 3 тыс. страниц!
И оно постоянно у меня не десктопе.
Эт такой роман, который читать можно вечно.
Поэтому и говорю, лучше определится на берегу чтобы избежать жуткой фрустрации в дальнейшем.
Loma
Цитата(hasl @ Sep 25 2018, 14:09) *
в коде у вас будет только Callback который будет вызывается по завершении преобразования АЦП

Вот именно!!! Вы это знаете, а я не знаю. Я сама джва года эту игру буду ждать два года это всё постигать буду.
Цитата(hasl @ Sep 25 2018, 14:09) *
потратье свое время и бесплатно изучите ардуино - эффект тот же самый

Не вполне. Меня как выяснилось не очень привлекает low level. Мне хочется заботиться о логике принятия решений и звать функции "сколько сейчас градусов ниже ноля", "крути моторчик назад медленно".
Цитата(hasl @ Sep 25 2018, 14:09) *
Разговор как с ребенком который начал ходить в садик

Вы же разрешите мне расценивать это как комплимент моему юнному возрасту, да? )))))))
Цитата(hasl @ Sep 25 2018, 14:09) *
Определитесь с целями и задачами
Если есть цель сделать свою моргалку
так и скажите хочу моргать с такой то частотой, напишите мне код и разъясните

Вы прям мои мысли читаете!!! Цели и задачи: делать разные моргалки за 300 рублей в час.
Примеры есть в первом сообщении. Ещё как пример, функция которая делает ШИМ, на вход принимает количество импульсов, частоту и скважность. Или может это лучше сделать другим способом, я не знаю, мне интерфейс важнее чем реализация в большинстве случаев.

Можно рассматривать это как написание библиотеки для микроконтроллера с человеческим лицом. Хотите выкладывайте код на github.com мне не жалко.
kovigor
Цитата(Loma @ Sep 25 2018, 10:38) *
Мне хочется заботиться о логике принятия решений и звать функции "сколько сейчас градусов ниже ноля", "крути моторчик назад медленно".

Готовая плата + Linux. Однозначно. ИМХО ...
Loma
Цитата(kovigor @ Sep 25 2018, 14:40) *
Готовая плата + Linux. Однозначно. ИМХО ...

Ага, спасибо!! Только что это значит?))))
Arduino/RaspberryPi/рекомендованные выше готовые платы от NXP/... это всё достаточно готовые платы???
ivnor
Начинать лучше с азов - ассемблер
Loma
Цитата(ivnor @ Sep 25 2018, 14:53) *
Начинать лучше с азов - ассемблер

Хи-хи. Так толсто но всё равно хи-хи)))))))
kovigor
Цитата(ivnor @ Sep 25 2018, 10:53) *
Начинать лучше с азов - ассемблер

Для ARM ??? Для 8051, AVR - да, сам с этого начинал. А потом взял и выучил Си. Но асм для ARM и Cortex на порядки сложнее и настолько же неудобнее. Си вполне достаточно. АСМ - иногда нужны базовые знания, в основном, чтобы при острой необходимости найти нужную строчку в .S - файле того же Keil'а ...
Vasily_
Цитата(Loma @ Sep 25 2018, 10:14) *
Они действительно так популярны???

Скорее наоборот.
AlexandrY
Цитата(Vasily_ @ Sep 25 2018, 11:20) *
Скорее наоборот.

Ага, в русскоязычном сегменте.
Тогда надо спросить на каком языке ТС предпочитает читать доку?
Хотя думаю если выбран великий учитель, то уже не будет иметь значения популярен или не популярен.
Тем более, что NXP в два раза заняла больше рынка чем STM.


leocat
Цитата(AlexandrY @ Sep 25 2018, 08:35) *
...
Тем более, что NXP в два раза заняла больше рынка чем STM.

Откуда статистика? От NXP? ( Хотя если посчитать вместе с FreeScale, то может быть )
yes
а как будет проверяться код? ну то есть - нужно какое-то железо жи
его надо где-то добыть (купить?), подключить, дать питание, на то же АЦП какие-то сигналы подавать и т.д.

удивительно, что STM32 не упомянули - может он и кривой внутри в сравнении с кинетисом, но "милионы мух не могут ошибаться" - на нем куча дешевых плат, бесплатная среда TRUESTUDIO, конфигуратор железа CUBE - то есть из пожеланий в виде конфигурации генерируется код, куча примеров и уроков (есть и на русском), то есть "информационная поддержка" раз в 100 больше

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

там есть проект mbed, где вообще можно без железа на симуляторе, с какими-то виртуальными платами поиграть (я сам не разбирался, не могу советовать, но есть такое)
jcxz
Цитата(yes @ Sep 25 2018, 15:58) *
конфигуратор железа CUBE

Сложно будет найти учителя-гуру у которого этот пункт не вызывал бы рвотного рефлекса. biggrin.gif
Первое, что нужно придумать ТС-у (или -ше wink.gif: проект. Придумать устройство, которое она будет реализовывать и по ходу решения задачи изучать матчасть. От сферического "АЦП 100Kb/s прямо в память писало" думаю будет мало проку. Пускай задача будет самой бессмысленной (хоть какую балалайку с лампочками ребёнку разработать), но она должна быть.
leocat
Цитата(jcxz @ Sep 25 2018, 13:35) *
Сложно будет найти учителя-гуру у которого этот пункт не вызывал бы рвотного рефлекса.

Ну вы это зря... Очень удобная штука на посмотреть, какая функция на какой ноге, посмотреть клокинги.
Не надо рыться в даташите.
yes
Цитата(jcxz @ Sep 25 2018, 16:35) *
Сложно будет найти учителя-гуру у которого этот пункт не вызывал бы рвотного рефлекса. biggrin.gif


может я неудачно сформулировал свой месадж - проще так:
в "чип и дипе" можно выбирать из полста вариантов плат с STM32 в районе 1000-2000 руб за штуку. причем за 1500 уже начинаются платы, где не столкнешься с нехваткой ОЗУ/ПЗУ в любых микроконтроллерных проектах
а что для кинетиса?

а в рамках поговорить - не понимаю, что может не понравится "учителю-гуру" в сгенеренном коде, если этот код просто набор записей констант в регистр? хочешь менять конфигурацию динамически - перепиши в функцию с переменными, но как пример, что ничего в регистрах не забыто - куб рулит
???
не нравится может код SPL, где есть какие-то программные модели "драйверов" написанные индусскими программистами, к кубу это имеет опосредованое отношение и КУБ совсем немного SPL использует и не заставляет юзера SPL использовать (хотя я бы гуру
с подходом "без SPL" гнал ссаными тряпками от неофитов)
-------------------------------------------------------
мне не понравились кубовские примеры lwip+RTOS - там генерится тупо нерабочий код, все остальное, по-моему, за КУБ
AlexandrY
Цитата(yes @ Sep 25 2018, 15:58) *
но "милионы мух не могут ошибаться"

Тут мне вспомнилась инсектицидная липкая лента.
Большинство мух просто хотят влипнуть. Это да, у них не отнимешь.
Кстати Kinetis в большинстве своем дешевле аналогичных STM32.
Loma
Цитата(jcxz @ Sep 25 2018, 20:35) *
Сложно будет найти учителя-гуру

Было бы здорово найти не учителя-гуру, а просто гуру! То есть не надо объяснять как оно внутри работает....
Цитата(jcxz @ Sep 25 2018, 20:35) *
Придумать устройство, которое она будет реализовывать и по ходу решения задачи изучать матчасть. От сферического "АЦП 100Kb/s прямо в память писало" думаю будет мало проку. Пускай задача будет самой бессмысленной (хоть какую балалайку с лампочками ребёнку разработать), но она должна быть.

  1. Устройство придумано!
  2. Изучать эту матчасть хотелось бы избежать!!! Я одна и жизнь моя короткая. А как уже упоминалось low-level программирование не сильно меня радует как выяснилось. Собственно так эта тема и появилась))))))))
  3. От АЦП 100Kb/s прямо в память я буду самым счастливым человеком пол дня самое маленькое!!!!!!
  4. Оплата почасовая!!!! Казалось бы, ну хочется платить почасово за то что "нужна функция init_adc(sample_rate, half_buffer_size, callback_function)", ну вот и чудненько казалось бы. Ан нет!!!(отдельное спасибо человеку с ником hasl за подсказку про callback)


Немного напоминает стаааааарый анекдот "и унитаз приносил, и жопу показывал"....
leocat
Цитата(yes @ Sep 25 2018, 18:04) *
может я неудачно сформулировал свой месадж - проще так:
в "чип и дипе" можно выбирать из полста вариантов плат с STM32 в районе 1000-2000 руб за штуку. причем за 1500 уже начинаются платы, где не столкнешься с нехваткой ОЗУ/ПЗУ в любых микроконтроллерных проектах
а что для кинетиса?

а в рамках поговорить - не понимаю, что может не понравится "учителю-гуру" в сгенеренном коде, если этот код просто набор записей констант в регистр? хочешь менять конфигурацию динамически - перепиши в функцию с переменными, но как пример, что ничего в регистрах не забыто - куб рулит
???
не нравится может код SPL, где есть какие-то программные модели "драйверов" написанные индусскими программистами, к кубу это имеет опосредованое отношение и КУБ совсем немного SPL использует и не заставляет юзера SPL использовать (хотя я бы гуру
с подходом "без SPL" гнал ссаными тряпками от неофитов)
-------------------------------------------------------
мне не понравились кубовские примеры lwip+RTOS - там генерится тупо нерабочий код, все остальное, по-моему, за КУБ

1. SPL пишется и поддерживается не индусами.
2. кало-КУБ вообще не имеет к SPL никакого отношения и SPL в КУБ-е вообще никак не используется.
3. Может каким то образом имели ввиду LL?
4. Недостаок знаний с лихвой компенсируется домыслами.

Loma,
напиши в личку.
Bodaybo
Кинетисы - весьма достойные конкуренты STM, но лучше всё-таки начинать с самых популярных на сегодня STM32, как тут правильно заметили, из-за фришного софта и дешёвых отладочных плат. Насчёт ядра - это легко понять из хотелок на их же сайте.
А потом можно спокойно перейти хоть на Кинетисы, хоть на Силабсы, хоть на Микрочипы - принципы программирования не сильно изменятся.
mcuprog
2Loma Вам, батенька, прямой дорогой в менеджмент или сразу в руководящие с такими замашками. А если хотите кодить - открывайте мануал и вперед. "шоб само", бл.
Loma
Цитата(mcuprog @ Sep 26 2018, 11:49) *
2Loma Вам, батенька, прямой дорогой в менеджмент или сразу в руководящие с такими замашками. А если хотите кодить - открывайте мануал и вперед. "шоб само", бл.


А вот сейчас обидно было.... Зачем же вы так????........

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

sad.gif
AlexandrY
Цитата(Bodaybo @ Sep 26 2018, 06:39) *
Кинетисы - весьма достойные конкуренты STM, но лучше всё-таки начинать с самых популярных на сегодня STM32, как тут правильно заметили, из-за фришного софта и дешёвых отладочных плат. Насчёт ядра - это легко понять из хотелок на их же сайте.

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

Но по ходу я подозреваю, что TC борется с эпическим HAL-ом.
В этом случае, действительно нужен высокопроизводительный гуру, поскольку ему надо будет толковать не только мусор генерируемый кубом, но еще и HAL, еще BSP, CMSIS, скорее всего FreeRTOS и еще кучу барахла.
Поскольку именно этим набита средняя отладочная плата от ST.

Loma
Цитата(AlexandrY @ Sep 26 2018, 12:06) *
Эт, конечно, самоподдерживаемое заблуждение некой тусовки прилипших к ST
Нет никаких объективных доказательств, что для ST софт более фришный чем для Kinetis, и что платы с ST дешевле чем с Kinetis.

Но по ходу я подозреваю, что TC борется с эпическим HAL-ом.
В этом случае, действительно нужен высокопроизводительный гуру, поскольку ему надо будет толковать не только мусор генерируемый кубом, но еще и HAL, еще BSP, CMSIS, скорее всего FreeRTOS и еще кучу барахла.
Поскольку именно этим набита средняя отладочная плата от ST.


Kinetis так Kinetis, я согласна. Единственное я не нашла есть ли у них плата с частотой больше 100MHz и GPIO не менее 30. Но я и не сильно искала пока так как уверена что есть. В крайнем случае если нет GPIO можно Ардуино подключить как расширение, такой пример у них в галерее есть.

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


Цитата(mcuprog @ Sep 26 2018, 11:49) *
2Loma Вам, батенька, прямой дорогой в менеджмент или сразу в руководящие с такими замашками. А если хотите кодить - открывайте мануал и вперед. "шоб само", бл.


Наверное мне должно быть приятно что человек написавший всего 10 сообщений на форуме за три года решил потратить одиннадцатое на то, чтоб огласить своё негативное отношение к этой теме. На самом деле не очень.... Я понимаю что мне должно быть всё равно, но я никак не могу понять почему так резко негативно??? Разве все заказчики хотят или должны открывать мануал и вперёд кодить я не понимаю..... Тем более странно такое отношение от человека создавшего тему Напишу программу для МК, i8051, AVR, dsPIC, STM . Ну вот и напишите!!!!!!
hasl
Когда заказчику все равно, он заказывает готовый продукт
И тогда ему дейсвтивтельно пофиг, на чем и как написано
Он просто наживает кнопочку а у него загорается лампочка.

Вы же хочете того же самого, причем чтобы написать код самому и причем чтобы не вникать в работу железа и программирование

Абсурд в ваших хотелках не замечаете?

Люди сидят за изучением мануалов неделями.
Зарабатывают седины на отладке проектов
И при этом вы хочете от них получить просто готовый и рабочий кусочек кода
Да "хрен в нос"

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

И опять спрашиваю, вы хочете получить эти знания практически даром
И опять же ответ : "да хрен в нос"

Вы уже второй день сидите и строчите посты, а вот для решения свое задачи что нибудь сделали?

п.с. грубо - но это так
Loma
Цитата(hasl @ Sep 26 2018, 12:39) *
Когда заказчику все равно, он заказывает готовый продукт
И тогда ему дейсвтивтельно пофиг, на чем и как написано


Если вам так проще, то считайте что именно готовый продукт я и заказываю)))))
Этот продукт называется библиотека работы с низкоуровнемы функциями, если вам так проще. Но всё и сразу мне не надо, мне надо постепенно, чтобы управляющий код успевал это всё пользовать. И я не знаю как оценивать сложность поэтому просто почасовая оплата. Всё просто, да?)))))

Более того я считаю что любой труд должен быть оплачен, а понять какие именно функции мне нужны, какой API, уточнить все требования и так далее это тоже труд, соответственно оно тоже включается в почасовку.

Цитата(hasl @ Sep 26 2018, 12:39) *
Он просто наживает кнопочку а у него загорается лампочка.


Вы второй раз за два дня читаете мои мысли!!!! Вместо наживает подставьте вызывает функцию и будет 100% попадание!!!!

Цитата(hasl @ Sep 26 2018, 12:39) *
Вы же хочете того же самого, причем чтобы написать код самому и причем чтобы не вникать в работу железа и программирование
Абсурд в ваших хотелках не замечаете?

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

Цитата(hasl @ Sep 26 2018, 12:39) *
Люди сидят за изучением мануалов неделями.
Зарабатывают седины на отладке проектов
И при этом вы хочете от них получить просто готовый и рабочий кусочек кода

Да!!!! Именно!!!! Ну мы же прям вот про одно и тоже самое говорим с вами!!!!!
Я понимаю как это сложно и что самой у меня уйдёт на это годы и седины. Поэтому я вынуждена платить кому-то кто уже имеет весь этот опыт, а не пытаться разобраться самой.
Я не вполне понимаю в чём конфликт интересов????????

Цитата(hasl @ Sep 26 2018, 12:39) *
Да "хрен в нос"

a14.gif

Цитата(hasl @ Sep 26 2018, 12:39) *
Порой в правильности понятия мануала, правильности записи в регистры и зависит работа железа, при чем это не все могут осилить
И опять спрашиваю, вы хочете получить эти знания практически даром

О, я очень хорошо понимаю как это не просто, иначе бы не обращалась за помощью, ведь так, да???!!! Но мне не нужно получить эти знания, как я уже неоднократно говорила, у меня другие интересы)))) мне как раз наоборот, нужна помощь в том, чтобы абстрагироваться от железа!!!

Цитата(hasl @ Sep 26 2018, 12:39) *
И опять же ответ : "да хрен в нос"

В смысле целую в носик???? ))))))) Дадада))))

AlexandrY
Цитата(Loma @ Sep 26 2018, 08:32) *
Kinetis так Kinetis, я согласна. Единственное я не нашла есть ли у них плата с частотой больше 100MHz и GPIO не менее 30. Но я и не сильно искала пока так как уверена что есть. В крайнем случае если нет GPIO можно Ардуино подключить как расширение, такой пример у них в галерее есть.

Делаю вот такие модули - https://habr.com/post/392839/
Имеет 77 свободных GPIO, каждый из которых может быть источником прерываний или триггером DMA, имеет выключаемые подтяжки к земле и питанию, имеет аппаратные фильтры от глитчей, регулируемую скорость фронтов, отключаемый открытый коллектор и т.д.
Такого в arduino не найдете, если он, конечно, не сделан на Kinetis. biggrin.gif

Стоит модуль 80 Евро в единичном экземпляре, без пересылки.
Цена консультации - 50 Евро в час.
jcxz
Цитата(Loma @ Sep 26 2018, 08:32) *
Kinetis так Kinetis, я согласна. Единственное я не нашла есть ли у них плата с частотой больше 100MHz и GPIO не менее 30. Но я и не сильно искала пока так как уверена что есть. В крайнем случае если нет GPIO можно Ардуино подключить как расширение, такой пример у них в галерее есть.

Ну вот и выступило родимое пятно ардуинщиков! laughing.gif Уже взят прицел на ногодрыг. Уважаемая, ногодрыгом Вам, для вашей неозвученной задачи и 100 МГц запросто может не хватить. Ищите сразу 1000! sm.gif
На ARM-ах не с количества GPIO надо начинать, а с прикидывания функциональной схемы устройства, по которой уже определяются - какие и сколько нужно будет периферийных блоков. И требования к ним. И на GPIO делается только то, что не реализуемо на встроенной периферии. А потом уже, когда требования к периферии прояснились, и начинают выбор платформы и МК , наиболее подходящего для решения задачи: STM32 или Кинетис или куча других семейств и производителей, у каждого из которых свои плюсы и минусы.
А делается это примерно так:
Нужно измерение аналогового сигнала? Значит нужно АЦП. Какое - внешнее или внутреннее? Прикидываем требования к измерению сигнала (его полоса, точность измерения, кол-во каналов, одновременных или можно через мультиплексор, необходимость гальванической развязки, необходимость энергосбережения при измерении и т.п.). Смотрим, что примерно умеют встроенные АЦП разных МК и прикидываем. Если внешнее - смотрим дальше на какой интерфейс МК можно его повесить? Желательно конечно как можно больше периферии засунуть внутрь МК.
Ну и так далее - по каждой функции, требуемой от устройства.

Цитата(Loma @ Sep 26 2018, 09:03) *
Этот продукт называется библиотека работы с низкоуровнемы функциями, если вам так проще. Но всё и сразу мне не надо, мне надо постепенно, чтобы управляющий код успевал это всё пользовать.

Embedded - это не PC. Невозможна тут никакая универсальная библиотека. Так как все МК имеют совершенно разную периферию. С разными возможностями. И единая "библиотека" - невозможна. А если всё-таки пытаться её написать, то получится нечто типа абдурины, использующее МК на 1% и оставляющее за бортом остальные 99% функционала и возможностей.
Как тут уже сказали - без изучения периферии и мануалов здесь никуда. Если не понимаете этого, то видимо Вам не сюда, а к ардуинщикам. laughing.gif

Цитата(Loma @ Sep 26 2018, 09:03) *
Вы правы, только я как раз наоборот не хочу самой писать низкоуровневый код и поэтому не замечаю абсурда.

"Низкоуровневый код" начинается с открывания мануала на МК. Всё остальное - галимая абдуринщина.

PS: Вам надо понять, что каждый МК - это как набор слесарных инструментов (набор периферии), где для каждой работы - свой инструмент (свой периферийный блок). И каждый МК (разных семейств) - это немножко разные наборы по составу и возможностям инструментов. В одном наборе есть классный выбор разных кусачек, но всего пара гаечных ключей; в другом - есть метчики для нарезания резьбы, которых нет в других наборах. И так - во всех.
И дальше человек думает - какую работу ему нужно будет выполнять? И уже по этой работе подбирает наиболее подходящий набор инструментов. А не пытается одной отвёрткой и болты закручивать и дырки в стенах ковырять...
Loma
Цитата(jcxz @ Sep 26 2018, 13:20) *
Ну вот и выступило родимое пятно ардуинщиков! laughing.gif Уже взят прицел на ногодрыг. Уважаемая, ногодрыгом Вам, для вашей неозвученной задачи и 100 МГц запросто может не хватить. Ищите сразу 1000! sm.gif

Наверное вы не прочитали моё предыдущее сообщение что никапельки не удивительно, уже три страницы накатали!!!!
Только вот результата пока нет(((( Вот, наверное вы не прочитали моё предыдущее сообщение, я там пишу о том что я делаю CV. Мне почему-то, уж не знаю с чего))) кажется, что его детали лучше обсуждать на другом форуме.

Спасибо вам что согласились бесплатно проверить мои расчёты!!!
Смотрите, есть несколько критических времён реакции. Если совсем просто говорить, то это изменение_входящего_цифрового_уровня -> перемножение матрицы на другую -> установка_цифрового_выхода в нужное значение.

Чтоб с запасом матрицы в лоб будем перемножать, получается km раз по l умножений и l-1 сложений. даже не будем смотреть сюда а просто оценим сверху что один полный цикл это 10 тактов. Ну и умножим на 3.14 чтоб точно с запасом. Нам ведь мегагерцев не жалко))))
Или они в дифиците??????????

Цитата(jcxz @ Sep 26 2018, 13:20) *
На ARM-ах не с количества GPIO надо начинать, а с прикидывания функциональной схемы устройства, по которой уже определяются - какие и сколько нужно будет периферийных блоков. И требования к ним. И на GPIO делается только то, что не реализуемо на встроенной периферии. А потом уже, когда требования к периферии прояснились, и начинают выюор платформы и МК , наиболее подходящего для решения задачи: STM32 или Кинетис или куча других производителей, у каждого из которых свои плюсы и минусы.

Всё так!!! Только мне не надо самое что ни на есть оптимальное решение, это же не промышленная разработка)))

Цитата(jcxz @ Sep 26 2018, 13:20) *
Нужно измерение аналогового сигнала? Значит нужно АЦП. Какое - внешнее или внутреннее? Смотрим, что примерно умеют встроенные АЦП разных МК и прикидываем. Если внешнее - смотрим дальше на какой интерфейс МК можно его повесить? Желательно конечно как можно больше периферии засунуть внутрь МК.
Ну и так далее - по каждой функции, требуемой от устройства.

Вы бы знали как мне приятно это читать. Очень разумные слова на мой дилетантский взгляд.
От устройства ничего космического не требуется управлять лидаром, стереопарой читать и писать цифровые порты, читать и писать аналоговые порты, дёргать callback-и по событиям.....

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

Цитата(jcxz @ Sep 26 2018, 13:20) *
Embedded - это не PC. Невозможна тут никакая универсальная библиотека. Так как все МК имеют совершенно разную периферию. С разными возможностями. И единая "библиотека" - невозможна. А если всё-таки пытаться её написать, то получится нечто типа абдурины, использующее МК на 1% и оставляющее остальные 99% функционала и возможностей за бортом.

Не будем обсуждать насколько разная переферия у РС и какой там заопарк драйверов)))))
Если я правильно поняла то под универсальной вы имеете ввиду на все устройства???? Тогда мне не нужна универсальная библиотека. Мне хватит одной под одну железку))))) Зачем мне все железки мира????

Ну что, может кто-то чувствует в себе силы написать хотя бы одну функцию??? ))))))
Дополнительная прелесть что ведь никто не заставляет писать весь проект. Нет всего проета!!! Есть отдельные функции. Не понравилось разработчику - не буду больше писать, понравилось - ещё одну напишу.

Как говорится и смех и грех))))))))))))))))))))))))
VNS
Цитата(AlexandrY @ Sep 26 2018, 10:09) *
Делаю вот такие модули - https://habr.com/post/392839/
...Стоит модуль 80 Евро в единичном экземпляре, без пересылки.
Цена консультации - 50 Евро в час.

Показательный пример широкоуниверсальной платы. Но на практике это в 99.999% случае не нужно - имею в виду свои личные запросы к аналогичной аппаратуре.
А как насчёт защитных мер от воздействия окружающей среды? Или это только демонстрация Вашего высокого профессионального уровня? Могу поделиться критическими замечаниями и, возможно, предложениями по сказанному.
Полностью согласен с нижеследующим...
Цитата(jcxz @ Sep 26 2018, 10:20) *
...На ARM-ах не с количества GPIO надо начинать, а с прикидывания функциональной схемы устройства, по которой уже определяются - какие и сколько нужно будет периферийных блоков. И требования к ним.
...И на GPIO делается только то, что не реализуемо на встроенной периферии.
...А потом уже, когда требования к периферии прояснились, и начинают выбор платформы и МК , наиболее подходящего для решения задачи: STM32 или Кинетис или куча других семейств и производителей, у каждого из которых свои плюсы и минусы.
...Нужно измерение аналогового сигнала? Значит нужно АЦП. Какое - внешнее или внутреннее?
...Прикидываем требования к измерению сигнала (его полоса, точность измерения, кол-во каналов, одновременных или можно через мультиплексор, необходимость гальванической развязки, необходимость энергосбережения при измерении и т.п.). Смотрим, что примерно умеют встроенные АЦП разных МК и прикидываем. Если внешнее - смотрим дальше на какой интерфейс МК можно его повесить? Желательно конечно как можно больше периферии засунуть внутрь МК.
...Ну и так далее - по каждой функции, требуемой от устройства.
...Embedded - это не PC. Невозможна тут никакая универсальная библиотека. Так как все МК имеют совершенно разную периферию. С разными возможностями. И единая "библиотека" - невозможна.
...А если всё-таки пытаться её написать, то получится нечто типа абдурины, использующее МК на 1% и оставляющее за бортом остальные 99% функционала и возможностей.
Как тут уже сказали - без изучения периферии и мануалов здесь никуда. Если не понимаете этого, то видимо Вам не сюда, а к ардуинщикам. laughing.gif
..."Низкоуровневый код" начинается с открывания мануала на МК. Всё остальное - галимая абдуринщина.

Можно добавить, что этот этап называется разработка ТЗ. Все разделы должны быть раскрыты и понятны заказчику. Продемонстрированы на отдельных макетах и согласованы с ним по алгоритму работы. По трудоёмкости этот этап самый ответственный и сложный, составляет по времени и затратам до 25% от общей стоимости разработки.

Цитата(Loma @ Sep 26 2018, 11:05) *
...Тогда мне не нужна универсальная библиотека. Мне хватит одной под одну железку)))))
...Ну что, может кто-то чувствует в себе силы написать хотя бы одну функцию??? ))))))

Давным-давно написано и предлагается. Проверить работоспособность "библиотечной функции" можно на AVRStudio, например...
Plain
Цитата(Loma @ Sep 26 2018, 10:05) *
написать библиотечку

Вам всё равно, для какой среды? Почему это не указано в первом сообщении темы.

Цитата
по работе с железом

То же самое, в первом сообщении темы не озвучена частота требуемого ШИМ, длительность измеряемых интервалов, напряжение на входе АЦП, и т.д.

Например, продаётся разнообразная готовая USB периферия — модули аналоговых входов/выходов, дискретных входов/выходов и т.д., и к ней как раз даются готовые драйверы для подключения к системам высокоуровнего программирования. Но никто в здравом уме не станет делать и пытаться продавать модуль абстрактного ШИМ, с частотой, Кзап и уровнями "на все случаи жизни".
jcxz
Цитата(Loma @ Sep 26 2018, 10:05) *
Смотрите, есть несколько критических времён реакции. Если совсем просто говорить, то это изменение_входящего_цифрового_уровня -> перемножение матрицы на другую -> установка_цифрового_выхода в нужное значение.

Ничего не понял о чём тут.... wacko.gif

Цитата(Loma @ Sep 26 2018, 10:05) *
От устройства ничего космического не требуется управлять лидаром, стереопарой читать и писать цифровые порты, читать и писать аналоговые порты, дёргать callback-и по событиям.....

Это вообще про любое устройство можно сказать. И про мигалку лампочками на абдурине и про айфон. Это описание сферического коня в вакууме.

Цитата(Loma @ Sep 26 2018, 10:05) *
Кажется, в силу специфики обычного заказа на форуме меня не правильно понимают. Я прошу написать библиотечку по работе с железом.

Значит Вы ввели всех в заблуждение. Не "Предлагаю работу по обучению программированию", а "Предлагаю работу по написанию нижнего уровня работы с железом для такого-то МК".

Цитата(Loma @ Sep 26 2018, 10:05) *
Всё так!!! Только мне не надо самое что ни на есть оптимальное решение, это же не промышленная разработка)))

Причём тут некая "промышленность" разработки? Вам нужно чтобы устройство функционировало? Или нет?
AlexandrY
Цитата(VNS @ Sep 26 2018, 10:59) *
Показательный пример широкоуниверсальной платы. Но на практике это в 99.999% случае не нужно - имею в виду свои личные запросы к аналогичной аппаратуре.
А как насчёт защитных мер от воздействия окружающей среды? Или это только демонстрация Вашего высокого профессионального уровня? Могу поделиться критическими замечаниями и, возможно, предложениями по сказанному.
Полностью согласен с нижеследующим...

ТС-у вроде подходит.
Весь внимание. Что критического можете сказать?
_3m
Цитата(AlexandrY @ Sep 26 2018, 11:36) *
ТС-у вроде подходит.
Весь внимание. Что критического можете сказать?

Плата - экзотика как и семейство kinetis. Это хорошие и недорогие процессоры но малопопулярные. Для любительских нужд плохой выбор.
Нужно брать что-то максимально распространенное чтобы и у ТС и у "гуру" идентичное железо всегда было под рукой.
Самые распространенные на данный момент stm32.
jcxz
Цитата(_3m @ Sep 26 2018, 12:11) *
Самые распространенные на данный момент stm32.

Путаете. Это как сидеть в песочнице и думать что и везде всё строят только из песка. STM32 самые распространённые в любительской среде. А не в профессиональной.
Я на прошлой работе проработал с ARM-ами около 10 лет. Множество реализованных проектов и у меня и коллег. Продажи - уже около десятка тысяч устройств в месяц.
И за всё это время не было ни одного проекта на STM32!
Параллельно работал по фрилансу и тоже - в проектах только TI и NXP.
Теперь я на новой работе - и тоже не STM32 (а Infineon).
Но зайдёшь на форум и складывается впечатление что в мире только STM32. Потому что тут подавляющее большинство - любители. А у STM32 такая политика - дешёвые отладки и низкий порог входа. В профессиональной сфере это уже не имеет никакого значения.
Так что везде - всё по-разному. МК в профессиональной сфере выбираются под задачу. И в разных проектах - разные. А любитель никак не может быть гуру, по определению. Чтобы стать им, надо как минимум вылезти из песочницы. laughing.gif
MegaVolt
Цитата(hasl @ Sep 26 2018, 08:39) *
Люди сидят за изучением мануалов неделями.
Зарабатывают седины на отладке проектов
И при этом вы хочете от них получить просто готовый и рабочий кусочек кода
Да "хрен в нос"

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

И опять спрашиваю, вы хочете получить эти знания практически даром
И опять же ответ : "да хрен в нос"

Так называйте цену может ТС и согласиться?
Либо сразу пишите мол инфа секретная и не продаётся вообще. Правда накой знания которые нельзя продать....

Цитата(Loma @ Sep 26 2018, 05:52) *
Немного напоминает стаааааарый анекдот "и унитаз приносил, и жопу показывал"....
Тут так принято sad.gif
Kabdim
Совет ТСу, сходу спрашивать всех "гур" о кол-ве выпускаемых устройств которые они разработали в год. Впрочем за 300р в час... rolleyes.gif . Считаем сверхурочная работа, множитель 1.5, значит искомый гуру работает за 200р/час, 8 часов в день, 22 дня, получается в районе 35к. Остается вспомнить что качество соответствует цене.
yes
да, речь про HAL, перепутал
Цитата(leocat @ Sep 26 2018, 05:54) *
1. SPL пишется и поддерживается не индусами.

индусский код, это не по национальному признаку
мне довелось разбирать старый драйвер CAN (в новых версиях они его выкинули) - это пипец, который лочился сам в себе, приходилось его патчить и все такое



VNS
Цитата(AlexandrY @ Sep 26 2018, 11:36) *
ТС-у вроде подходит.
Весь внимание. Что критического можете сказать?

ТС, сам пока незнаком со своими проблемами.
Сложная схема требует аналогичной сложности программу, которую, очевидно, можете разработать только Вы.
Применение лицензионных программ и алгоритмов требует лицензий от разработчиков.
Если стоимость Ваших консультаций 50 Евро в час, то разработка программы, вероятно, будет стоить 5000 Евро...
yes
Цитата(AlexandrY @ Sep 26 2018, 08:06) *
Эт, конечно, самоподдерживаемое заблуждение некой тусовки прилипших к ST
Нет никаких объективных доказательств, что для ST софт более фришный чем для Kinetis, и что платы с ST дешевле чем с Kinetis.


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

но какая разница в "профессиональнх" и "любительских" контроллерах? сейчас все покупается у ARM-а и ядро и основная периферия, сами вендоры могут дописать что-то типа SPI, CAN и т.п., какая-то специфическая "сложная" периферия в контроллерах "общего пользования" не используется
то есть упирается все в "экосистему", соответственно ее легкость, я, наверно, сумею и gcc c эклипсом поставить и кейл/иар вылечить, но начинающему, наверно, проще взять все готовое и с описанием - тут STM32 однозначно

ну и у STM32 уже больше года есть F7 (то есть покупается в том же чип и дипе) c дабловым сопроцессором - так, на вскидку, чем может ответить NXP?


топикстартеру бесплатный совет:
чтобы поменьше было флейма - возьмите в гитхабе
https://github.com/fboris/STM32Cube_FW_F4/t...rConversion_DMA
или поищите на сайте ST или вообще в сети ADC_RegularConversion
наверняка для упоминавшегося КУБа есть готовый пример с картинками (там только нужно выбрать правильную плату)

соберите (в бесплатном TRUESTUDIO), если не лень - купите плату и запустите на ней
появятся вопросы - спрашивайте в отдельной теме

по-моему, так будет эффективнее, чем "дразнить гусей" sm.gif вопросами, хочу научиться вообще

---------------

btw: я и в ардуино не вижу ничего плохого, не было увы возможности куда-нибудь применить, но сама идея мне очень нравится

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2022 Invision Power Services, Inc.