Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/23: Рейтинг темы: голосов - 23, средняя оценка - 5.00
1615 / 785 / 236
Регистрация: 26.05.2012
Сообщений: 2,834
1

Цели применения и отличия разных микроконтроллеров

25.11.2020, 22:31. Просмотров 4167. Ответов 116
Метки нет (Все метки)

прив! для каких целей применяются, чем отличаются данные микроконтроллеры??
можете отсортировать их 1) в порядке популярности; 2) в порядке года выпуска..
- ATmega8
- ATmega48
- ATmega16
- ATmega8535
- ATmega328
- ATtiny2313
- ATtiny13
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2020, 22:31
Ответы с готовыми решениями:

Отличия программаторов микроконтроллеров
Здравствуйте уважаемые форумчане! У меня появилось несколько вопросов: в чем отличия программаторов...

Отличия разных компиляторов паскаля
Сап, паскалисты. Хотел бы узнать основные различия между паскалевскими компиляторами (ABC,...

Отличия разных видов переменных и параметров
Доброго времени суток! Пожалуйста, помогите разобраться, в чём отличия между разными видами...

Отличия процессоров Sempron разных сокетов
Всем привет,вот являюсь обладателем процессоров семпрон 3000+ для 754 сокета и семпрон 3000+ 462...

116
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
02.12.2020, 15:20 41
Цитата Сообщение от liv Посмотреть сообщение
И очень медленная работа... Как-то не очень...
Не очень для чего? Для клавомыши этого достаточно, для обновления экранчика раз в секунду тоже.
Недостаток переходников в том, что они все одинаковые и требуют специального софта. То есть если подключено несколько устройств, появляется проблема как их различать. Я, кстати, недавно с такой проблемой столкнулся: в эксперименте используется 4 прибора, подключенных через переходники usb-rs232, но у каждого свои настройки, свой способ обмена. Будь это аппаратные COM-порты, у них хотя бы адрес сохранялся, но у переходников он может меняться от загрузки к загрузке. Впрочем, мне повезло что они были от разных производителей и удалось различать по VID:PID. Если интересно, могу скинуть правило для udev.
Цитата Сообщение от liv Посмотреть сообщение
Кстати, инфа за 2014 год, так понимаю. Проект сейчас завершен? Программа для ПК написана полностью? Какое применение?
Особых изменений нет. Иногда использую чтобы, как и описано в статье, показывала время, температуру и загрузку компа. Для чего использовать кнопки так и не придумал. По большому счету да, игрушка.
0
Модератор
Эксперт CЭксперт С++
4193 / 3728 / 672
Регистрация: 07.10.2015
Сообщений: 7,634
02.12.2020, 15:43 42
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
если подключено несколько устройств, появляется проблема как их различать
Я обратил внимание, что драйвер запоминает номер порта под которым устройство появляется в системе. Странно... Может, другие драйвера? Я больше с RS-485 работаю. Более надежный. Надо будет более внимательно проследить...
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
но у каждого свои настройки, свой способ обмена
С чего бы это? Стандартный последовательный интерфейс... Никогда не было проблем...
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
удалось различать по VID:PID. Если интересно, могу скинуть правило для udev
Конечно интересно... Давай...

Добавлено через 2 минуты
А обмен у меня идет постоянный, поэтому медленная скорость не устраивает. На аппаратных USART-ах меньше 115200 не работаю.

Добавлено через 11 минут
А от программного USB, в свое время, я отказался... Максимум, что можно выжать, это USB1.
И огромные программные затраты... Мои модули выполняют очень много работы, поэтому времени на полезную работу явно не хватит. Порой приходится аккуратно раскладывать по времени все процессы, чтобы все работало и не мешало друг другу... И обмен с внешним миром должен быть минимум на 9600...
0
2721 / 1236 / 166
Регистрация: 28.10.2011
Сообщений: 4,577
Записей в блоге: 6
02.12.2020, 18:05 43
Цитата Сообщение от Alex Prozac Посмотреть сообщение
дешевизна STMок привели многих к своеобразному комплексу - "чем навороченнее микруха - тем я круче"!
Дело не в крутизне, а в упрощении разработки. Имея большую производительность и лучшую периферию, задачу можно решить проще и качественнее.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
А де-факто AVRки - абсолютно актуальные "машинки" для своих задач: простые в освоении и программировании, недорогие и неприхотливые!
Запорожцы 1970 года выпуска принципе тоже актуальные - ездить можно.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
ATtiny13 идеален для построения схем управления блоками питания, различными регуляторами тока/напряжения - памяти у него мало, как и ножек, но зато есть полноценный АЦП; а для ШИМ-контроллера много памяти/ножек и не нужно.
Ну да. Таймер один и 8-ми битный. О каком ШИМ контроллере вы пишите тем более в блоке питания? Не задумывались что если для ШИМ использовать 32-ух битный таймер и большей частотой тактирования (к примеру 100 МГц), то диапазон ШИМа значительно возрастет и управление станет во много раз плавнее?
А по поводу АЦП, этот модуль должен быть в каждом МК.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
устройства с 7-seg индикаторами
И конечно же работа с семисегментным индикатором на прерываниях и ногодрыгом? А знаете ли вы что работать с ним можно аппаратно без прерываний? https://www.cyberforum.ru/blog... g5170.html
Попробуйте сделать это на AVR и может поймете почем я назвал их устаревшими.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Для клавомыши этого достаточно
Смотря для какой. Для игровой не хватит. Недавно обсуждали Самодельная игровая мышь и клавиатура
0
68 / 41 / 7
Регистрация: 25.11.2020
Сообщений: 142
02.12.2020, 18:53 44
Похвастаюсь-ка я своей поделкой
Вы сделали мой день!!! Это как раз то, что я искал!!! Сам хотел запилить нечто подобное: со стороны МК - USB процедуры (правда, на ASM'е - не такой уж я "наСИльник", уж извиряйте), со стороны ПК - прога на Delphi... Но, что называется, "ниосилил" - по причине скудности доступной для понимания информации... Да - есть книжки с переводами заводской спецификации работы шины USB, но вот статей, написанных простым языком (в стиле книг Фленова по Delphi) практически нет((

А Вы не могли бы написать теоретическую статью по этой теме ра cxem.net, раз уж Вы разобрались? Где разжевали бы принципы работы с USB по HID как со стороны МК (описание принципов работы на аппаратном уровне, блок схемы процедур для этого), так и со стороны ПК (установка драйверов, процедуры со стороны ПК-клиента)? Что называется, "слезно просим")) Вас бы за это на руках носили бы!!! Да что там статью - книгу напишите, с подробным разъяснением! Я бы купил))
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
02.12.2020, 19:01 45
Цитата Сообщение от Alex Prozac Посмотреть сообщение
Да что там статью - книгу напишите, с подробным разъяснением! Я бы купил))
Уже написали:
Интерфейс USB. Практика использования и программирования | Агуров Павел Владимирович
Практика программирования USB | Агуров Павел Владимирович

а также USB in a NutShell, перевод есть на microsin.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
по причине скудности доступной для понимания информации
- по причине ковыряния на низком техническом уровне. 8-битные МК и Дельфи...
Продолжайте ковыряться в этой песочнице, и так всё и останется.
0
68 / 41 / 7
Регистрация: 25.11.2020
Сообщений: 142
02.12.2020, 19:20 46
Дело не в крутизне, а в упрощении разработки
Напротив - STM гораздо сложнее в разработке! А AVR - однаиз самых простых и прозрачных аппартно платформ! А если для решения задачи хватает AVR-ки, то зачем увеличивать время и затраты на разработку STM-приложения? Тем более, что большая часть его ресурсов в том же вольтметре, например, останется незадействованной!.. Видел китайские измерительрые головки на STM-ах...

Запорожцы 1970 года выпуска принципе тоже актуальные - ездить можно
Танк Т-90, чисто теоретически, тоже можно использовать в фермерском хозяйстве - гусеницы есть, гидравлика - тоже. Осталось только потратить время, и приварить к нему плуг сзади и отвал спереди. Но почему-то для подвоза сена и вспашки полей чаще используют мини-трактора)) Наверное потому, что они дешевле, экономичнее, удобнее и проще в эксплуатации)) "Бритва Оккама" - слышали про такое? Не стоит плодить лишние сущности там, где этого не требуется! Так-то можно и фазовый регулятор для дрели на тонком клиенте реализовать - никто не запрещает, да только вот не нужно)) Для каждой задачи - своя "приблуда"! А то как в фильме "Назад, в будущее" все это выглядит, где про ковбоев серия - есть там эпизод, где профессор строит безумную по сложности машину только для того, чтобы пожарить себе яичницу...

Таймер один и 8-ми битный. О каком ШИМ контроллере вы пишите тем более в блоке питания?
Смотря какой блок питания! Они же разные бывают)) Не знаю, для чего Вам 32-битная точность ШИМ, но я в чужие дела не лезу - если хочешь сделать, значит есть для чего)) Предстваляете - в некоторых БП вообще не используют МК, хватает мультивибратора на "россыпи" и обмотки обратной связи!.. Того, что есть в "тринадцатом", вполне хватает для нормального БП - снимаем выход АЦП, и подстраиваем в зависимости от этого ШИМ на том самом T0 - профит! Зачем для этого еще таймеры, если конструкция вот такая простая (а таких - большинство!)? Чтобы тупо вкинуть их? Или ломать голову, что же можно еще и на них сделать, чтобы "добро не пропадало"? Из пушки - по воробьям!..

И конечно же работа с семисегментным индикатором на прерываниях и ногодрыгом?
Можно и без прерываний сделать - в теле основного цикла)) А прерывания приберечь для чего-нибудь более нужного)) Эххх, разучились современные разрабы экономичному стилю - не экономят код, не экономят RAM, не экономят ресурсы... Мегабайт - туда, мегабайт - сюда; объект после использования уничтожать - да ну его... Расточительность какая-то! Мне интереснее минимумом средств сделать вещь! Вот товарищу с USB в "восьмерке" - мой поклон! А то ведь можно и Flowcode программированием назвать - а чо, ресурсы-то позволяют!.. А если не нравится 7-seg ногодрыгом, то можно купить у китайцев плату с этим индикатором и I2C-адаптером - она рублей на 10 дороже голого индюка стоит! Ну, да правда I2C тоже придется ногодрыгом делать))
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
02.12.2020, 19:25 47
Цитата Сообщение от Alex Prozac Посмотреть сообщение
Напротив - STM гораздо сложнее в разработке! А AVR - однаиз самых простых и прозрачных аппартно платформ! А если для решения задачи хватает AVR-ки, то зачем увеличивать время и затраты на разработку STM-приложения? Тем более, что большая часть его ресурсов в том же вольтметре, например, останется незадействованной!.. Видел китайские измерительрые головки на STM-ах...
Это верно до тех пор, пока ресурсов действительно достаточно. Но закостенелому разуму присуще замыкаться на имеющихся знаниях и не изучать ничего нового.
А на новом оборудовании можно сделать быстрее, дешевле, удобнее, так чтобы заказчики с руками оторвали. И это за тот срок, пока вы плату на бумаге разводите, да код инициализации на ассемблере сочиняете.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Предстваляете - в некоторых БП вообще не используют МК, хватает мультивибратора на "россыпи" и обмотки обратной связи!..
А я вот помню БП, где был только транформатор, кондёры и силовые диоды.
А ещё лучше лейденская банка!

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Эххх, разучились современные разрабы экономичному стилю - не экономят код, не экономят RAM, не экономят ресурсы...
Пока вы гордо экономите, вас обойдут те кто сделает быстрее, лучше, и даже дешевле (и по себестоимости железа, и по стоимости труда).
0
68 / 41 / 7
Регистрация: 25.11.2020
Сообщений: 142
02.12.2020, 19:26 48
по причине ковыряния на низком техническом уровне. 8-битные МК и Дельфи
А что, если мне это нравится просто? Для меня это - хобби, а хобби должно приносить удовольствие - разве нет? Плюс я вообще люблю принцип Оккама и минимализм. Панк/блек-гитаристу тоже может быть непонятен какой-то ход, и он может спросить у людей, какие там ноты - и что? Будем клеймить его низким уровнем? А ему вот так нравится играть - его право! Я люблю Дельфу и AVR-ки, и не понимаю, для чего мне большие МК - чтобы делать то же самое на том же самом кол-ве ресурсов, а остальное оставлять пустым?
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
02.12.2020, 19:44 49
Вы занимаетесь типичным самооправданием своего нежелания осваивать новое.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Для меня это - хобби, а хобби должно приносить удовольствие - разве нет?
Тогда какого ... вы делаете выводы о других разработчиках? Вы же в этом, получается, ничего не понимаете.

Добавлено через 17 минут

Не по теме:

Цитата Сообщение от Alex Prozac Посмотреть сообщение
о вот статей, написанных простым языком (в стиле книг Фленова по Delphi) практически нет((
Сам Фленов (внезапно!) бросил этот ваш Дельфи и перешёл на современные средства разработки:

Почему я бросил Delphi
Цитата Сообщение от Фленов
Я кажется уже причины описывал, но не могу что-то найти.

Самой стабильной и надежной была когда-то Delphi 7, но после этого пошли провала и версии 2005, 2006 были ужасны. Плюс я начал задумываться о переходе на лицензионный софт.

Вот и совпало, что платить за Delphi смысла нет - стабильная версия устарела, а современные не стабильны, да и цена заоблачна. Тогда я и выбрал Visual Studio Express, которого вполне достаточно для меня.

После выхода более менее стабильной версии 2007, которая хоть немного работала хорошо, я хотел вернуться и даже хотел купи лицензию на Turbo вариант, но его как раз тогда перестали поддерживать и продавать. С тех пор я вообще перестал следить за этим миром, потому то все больше влюбился в C#.

Так что причин в принципе три:
  1. Стабильность новых на тот момент версий. Не люблю сидеть в старых версиях
  2. Цена
  3. Уж слишком хорошим оказался C#

0
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
02.12.2020, 19:59 50
Цитата Сообщение от liv Посмотреть сообщение
Я обратил внимание, что драйвер запоминает номер порта под которым устройство появляется в системе.
Например, сначала втыкаем переходник на ch340, система его отображает как /dev/ttyUSB0, потом втыкаем ft232 - он будет /dev/ttyUSB1. Если втыкать в обратном порядке, будет наоборот. А при перезагрузке никто не гарантирует что порядок будет всегда одинаковым.
В windows бывает и хуже - если вынуть, а потом вставить переходник, он может зарезервировать под себя один номер, а сам подключиться к другому, приходится шаманить в диспетчере устройств.
Цитата Сообщение от liv Посмотреть сообщение
С чего бы это? Стандартный последовательный интерфейс... Никогда не было проблем...
Нет, я всего лишь про различия самих приборов говорил. Вряд ли вольтметр адекватно отреагирует если ему подать команду, предназначенную для источника питания. То есть что хорошо бы сразу сказать "вольтметр висит на переходнике на ft232, источник питания на ch340" и т.д.
Цитата Сообщение от liv Посмотреть сообщение
Конечно интересно... Давай...
Код
$ cat /etc/udev/rules.d/98-usbserial.rules 
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", PROGRAM="/etc/udev/rules.d/calc_ft232r.sh tty_ft232r_", SYMLINK+="tty_ft232r_%c"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", PROGRAM="/etc/udev/rules.d/calc_ft232r.sh tty_hl340_", SYMLINK+="tty_hl340_%c"
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", PROGRAM="/etc/udev/rules.d/calc_ft232r.sh tty_cp210x_", SYMLINK+="tty_cp210x_%c"
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", PROGRAM="/etc/udev/rules.d/calc_ft232r.sh tty_pl2303_", SYMLINK+="tty_pl2302_%c"
Код
$ cat /etc/udev/rules.d/calc_ft232r.sh 
#!/bin/bash
x = ls /dev | grep $1 | wc -l
echo $x
В результате сами устройства остаются на месте, но дополнительно появляются симлинки вроде /dev/tty_ft232r_0
Кстати, может кто знает как подобную задачу решить в виндовсе?
Цитата Сообщение от liv Посмотреть сообщение
А обмен у меня идет постоянный, поэтому медленная скорость не устраивает. На аппаратных USART-ах меньше 115200 не работаю.
Не секрет что за задачам такое требуется?
Ну и заодно не пробовали ли использовать аппаратный usb, который сейчас в каждом втором контроллере?
Цитата Сообщение от locm Посмотреть сообщение
Ну да. Таймер один и 8-ми битный. О каком ШИМ контроллере вы пишите тем более в блоке питания?
Там все равно обратная связь. Многие специализированные микросхемы вообще 1-битным "шим"ом обходятся.
Цитата Сообщение от Alex Prozac Посмотреть сообщение
А Вы не могли бы написать теоретическую статью по этой теме ра cxem.net, раз уж Вы разобрались? Где разжевали бы принципы работы с USB по HID как со стороны МК
Уже
https://habr.com/ru/post/460815/
Цитата Сообщение от Rius Посмотреть сообщение
- по причине ковыряния на низком техническом уровне. 8-битные МК и Дельфи...
Продолжайте ковыряться в этой песочнице, и так всё и останется.
А что вы предлагаете? Использовать готовые модули? Это не сильно приблизит к пониманию.
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
02.12.2020, 20:01 51
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А что вы предлагаете? Использовать готовые модули? Это не сильно приблизит к пониманию.
Сначала понимать, потом применять, потом переходить на более высокий уровень.

А вот это про готовые модули:
Цитата Сообщение от Alex Prozac Посмотреть сообщение
А если не нравится 7-seg ногодрыгом, то можно купить у китайцев плату с этим индикатором и I2C-адаптером - она рублей на 10 дороже голого индюка стоит!
0
2721 / 1236 / 166
Регистрация: 28.10.2011
Сообщений: 4,577
Записей в блоге: 6
02.12.2020, 20:14 52
Цитата Сообщение от Alex Prozac Посмотреть сообщение
Где разжевали бы принципы работы с USB по HID как со стороны МК (описание принципов работы на аппаратном уровне, блок схемы процедур для этого)
Все элементарно. Держите архив (дать ссылку на первоисточник не могу, т. к. правила форума это запрещают).

HID_DevIO.zip

Процитирую здесь часть описания библиотеки.
Кликните здесь для просмотра всего текста
Вариант программы для микроконтроллера с использованием библиотеки STM32 USB-FS-Device 4.

Сделал два примера - обмен через конечные точки и запросы Feature.
В папках PC каждого проекта находится тестовая программа для компа. Светодиод использован имеющийся на плате, а кнопка должна быть подключена между контактом B12 и общим проводом.

Для добавления библиотеки в новый проект нужно сделать следующее.

1. Скопировать папку USB из одного из примеров архива в папку проекта.
2. Добавить файлы в проект - кликнуть по проекту правой кнопкой мышки и в меню выбрать "Добавить файлы рекурсивно" и указать путь к папке USB.
3. Открыть файл src\Main.c и после строки #include "stm32f10x_conf.h" добавить строки.
C
1
2
3
4
#include "hw_config.h"
#include "usb_lib.h"
#include "usb_pwr.h"
#include "HidDev_Config.h"
4. В начало функции main добавить строки.
C
1
2
3
4
    Set_System();
    USB_Interrupts_Config();
    Set_USBClock();
    USB_Init();
5. Открыть файл USB\inc\HidDev_Config.h и сконфигурировать библиотеку.
C
1
2
3
4
5
6
7
8
9
10
#define USB_VID           0x1234
#define USB_PID           0x1
#define USB_NUM           0x2   // Серийный номер устройства.
 
#define ENDP_IN_SIZE      1 // Размер в байтах пакета конечной точки типа Input (0 - 64). Направление из МК в ПК.
#define ENDP_OUT_SIZE     1 // Размер в байтах пакета конечной точки типа Output (0 - 64). Направление из ПК в МК.
#define ENDP_FEATURE_SIZE 0 // Размер в байтах пакета типа Feature (0 - 64). Двунаправленный обмен через нулевую конечную точку.
 
#define ENDP_IN_INTERVAL  32  // Интервал в миллисекундах опроса конечной точки типа Input (1 - 255).
#define ENDP_OUT_INTERVAL 32  // Интервал в миллисекундах опроса конечной точки типа Output (1 - 255).
Все, теперь можно производить обмен данными по USB.

Для этой цели служит ряд функций.
C
1
2
3
4
5
void HID_Receive(uint8_t *Buff, uint8_t Size)  // Прием данных от компьютера через конечную точку. Данные будут в массиве Buff размер которого указан в аргументе Size.
uint8_t HID_SendBuff(uint8_t EPnum, uint8_t *Buff, uint8_t Size)  // Передача пакета в комп через конечную точку EPnum.
void HID_SendCompleted(uint8_t EPnum); // Информирование о завершении передачи через конечную точку.
void HID_Feature_Receive(uint8_t *Buff, uint8_t Size)  // Прием данных от компьютера через запрос Feature. Данные будут в массиве Buff размер которого указан в аргументе Size.
uint8_t HID_Feature_Send(uint8_t *Buff, uint8_t Size)  // Передача пакета в комп через запрос Feature. Данные нужно поместить в массив Buff. Функция должна вернуть не 0 если данные были помещены в массив, иначе они не будут переданы.
Только HID_SendBuff нужно вызывать из кода, а остальные функции необходимо разместить в коде (например в файле Main.c) и их будет вызывать USB библиотека когда пришли новые данные, или нужно передать данные через запрос Feature.



Цитата Сообщение от Alex Prozac Посмотреть сообщение
правда, на ASM'е - не такой уж я "наСИльник", уж извиряйте
Писать прогу полностью на асме - насиловать свой мозг!

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Напротив - STM гораздо сложнее в разработке!
Это не так. Небольшая сложность внутренней организации МК полностью компенсируется теми возможностями что предоставляет встроенная периферия. Это значительно упрощает разработку, а наличие аппаратной отладки, упрощает еще сильнее.

Надеюсь вы не пытались писать для STM32 на асме?

Цитата Сообщение от Alex Prozac Посмотреть сообщение
А AVR - однаиз самых простых и прозрачных аппартно платформ!
Детская лопатка очень простая, но много ею не покапаешь!

Цитата Сообщение от Alex Prozac Посмотреть сообщение
А если для решения задачи хватает AVR-ки, то зачем увеличивать время и затраты на разработку STM-приложения?
Наоборот STM32 упрощает и ускоряет разработку за счет более мощной периферии и наличия отладки.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Тем более, что большая часть его ресурсов в том же вольтметре, например, останется незадействованной!
Они кушать просят? Или за их неиспользование нужно кому-то платить?

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Можно и без прерываний сделать - в теле основного цикла))
Тем самым проц будет только выводом на индикацию и заниматься. То что я предложил, полностью освобождает процессор от необходимости обслуживать индикатор. Считайте что таким образом был создан аппаратный модуль для динамической индикации.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
А если не нравится 7-seg ногодрыгом, то можно купить у китайцев плату с этим индикатором и I2C-адаптером - она рублей на 10 дороже голого индюка стоит! Ну, да правда I2C тоже придется ногодрыгом делать))
Вот и все AVR - никакой периферии и сплошной ногодрыг! Много задач МК не выполнит! В итоге опускаются до ардуинщиков и собирают конструкцию на десятке МК где хватило одного.
0
68 / 41 / 7
Регистрация: 25.11.2020
Сообщений: 142
02.12.2020, 20:16 53
Уже
Спасибо! Займусь изучением, как время будет!

Насколько я понял при беглом взгляде, vusb - это та самая легендарная лайбрари от Игоря Чешко?
0
2721 / 1236 / 166
Регистрация: 28.10.2011
Сообщений: 4,577
Записей в блоге: 6
02.12.2020, 20:29 54
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Например, сначала втыкаем переходник на ch340, система его отображает как /dev/ttyUSB0, потом втыкаем ft232 - он будет /dev/ttyUSB1. Если втыкать в обратном порядке, будет наоборот. А при перезагрузке никто не гарантирует что порядок будет всегда одинаковым.
Может линукс и не гарантирует, а винда гарантирует. Она привязывает идентификаторы USB к номеру COM порта и сохраняет их.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
В windows бывает и хуже - если вынуть, а потом вставить переходник, он может зарезервировать под себя один номер, а сам подключиться к другому, приходится шаманить в диспетчере устройств.
Такое происходит если подключать один и тот же переходник к разным USB портам.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вряд ли вольтметр адекватно отреагирует если ему подать команду, предназначенную для источника питания.
Если использовать разный протокол (хотя бы отличающийся алгоритм подсчета контрольной суммы), проблем не возникнет.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Кстати, может кто знает как подобную задачу решить в виндовсе?
Не проще вместо CDC использовать HID? Подключаемся по USB идентификаторам. У каждого МК свой серийный номер и можно однозначно идентифицировать устройство.

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Ну и заодно не пробовали ли использовать аппаратный usb, который сейчас в каждом втором контроллере?
Вы сейчас точно про AVR? Их всего несколько с USB.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Насколько я понял при беглом взгляде, vusb
Программный USB - тормоз с множеством ограничений и большой нагрузкой на МК. Не тратьте на него время. Берите МК с аппаратным USB.
Выше я выложил архив для такого МК.
0
68 / 41 / 7
Регистрация: 25.11.2020
Сообщений: 142
02.12.2020, 20:47 55
Держите архив
Спасибо!

Надеюсь вы не пытались писать для STM32 на асме?
Так милого сердцу Паскаля ведь для них нет)) Да, знаю - СИ и Паша очень похожи, но... Вот руки все не доходят до Сей((

Детская лопатка очень простая, но много ею не покапаешь!
Однако я вот ни разу не видел, чтобы дачники копали картошку экскаваторами)) Иногда простота - это плюс...

И есть у STM'а еще один минус: я по-старинке платы травлю - рисую их маркером. А чтобы нарисовать разводку под корпус STM'а, нужно быть художником) Они же идеологически и уперто не признают DIP!.. В "лазерном утюге" пока не возникало необходимости - хватает и моих кривоплаток с головой...

Тем самым проц будет только выводом на индикацию и заниматься
По прерываниям - основная работа, в теле главного цикла - индикация и опрос кнопок (хотя кнопки можно и на прерывания завести - от задачи зависит).

Вот и все AVR - никакой периферии и сплошной ногодрыг! Много задач МК не выполнит!
А иногда много и не нужно! Более того, если бы AVR был бы таким убогим, как тут говорят - стали бы на нем строить проект Arduino? Капиталисту же что важнее всего? Чтобы были хорошие продажи! Никто не будет разарабатывать себе в убыток! Неужели итальянцы такие бездарные маркетологи, что применили в своей плате столь "ненужный" камень? И почему тогда все это стало так популярно? Неужели популярность Ардуины вообще ничего не доказывает хейтерам AVR'ок?


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

Добавлено через 5 минут
Берите МК с аппаратным USB.
А вот это да! Помню, UART в AVR'ках очень понравился - нужно будет и с USB поколдовать!
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
02.12.2020, 20:49 56
Цитата Сообщение от Alex Prozac Посмотреть сообщение
А вообще разговор тут больше похож на разговор футбольных фанатов - "эта команда играет лучше всех только потому, что она из моего города и я за нее болею"... Кому что нравится - тот путь это и юзает, в чем проблема-то?
Тут разговор такой - пришёл хоббит и с высоты своего "огромного" опыта стал утверждать, что промышленные разработчики - идиоты.
0
68 / 41 / 7
Регистрация: 25.11.2020
Сообщений: 142
02.12.2020, 21:03 57
высоты своего "огромного" опыта стал утверждать, что промышленные разработчики - идиоты
Что Вы злой-то такой, а? Да, я хоббит, не скрываю этого - и что? Что в этом такого предосудительного? Мое хобби лично Вам чем-то мешает? Или пить водку лучше? Может быть, мне Вам неустойку выплатить - за право ковыряться в AVR'ках?

Покажите мне, где я говорил про свой "огромный опыт" и про то, что "промышленные разрабы - идиоты"? Раз сказали такое - то "ответьте за базар", будьте так любезны! Вот Вы да - постоянно срываетесь на личности! Вы что, о людях судите по тому, какой МК они используют? Новая форма шовинизма такая, что ли? Я, тащем-та, мирный человек, и нкого обижать не хотел)) Более того, разработка на STM - это круто и профессионально. Но я, как бы, не обязан ей заниматься - делаю то, что нравится в рамках закона)) Так что успокойтесь и прекратите этот срач!!! Оправдываться в чем-то перед Вами я не собираюсь!..
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
02.12.2020, 21:04 58
Цитата Сообщение от Alex Prozac Посмотреть сообщение
Что в этом такого предосудительного? Мое хобьи лично Вам чем-то мешает? Или пить водку лучше?
Совершенно ничего и ничем.
Мешает то, что человек без знаний что-то судит о том, в чём ничего не понимает.
0
2721 / 1236 / 166
Регистрация: 28.10.2011
Сообщений: 4,577
Записей в блоге: 6
02.12.2020, 21:06 59
Цитата Сообщение от Alex Prozac Посмотреть сообщение
Паскаля ведь для них нет))
Есть, но лучше изучить Си. Язык не сложный.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Однако я вот ни разу не видел, чтобы дачники копали картошку экскаваторами))
Вы видели чтобы они ее копали детской пластмассовой лопаткой?

Цитата Сообщение от Alex Prozac Посмотреть сообщение
Более того, если бы AVR был бы таким убогим, как тут говорят - стали бы на нем строить проект Arduino?
Проект появился давно во времена когда AVR был еще актуален. Сейчас никто не переделывает из-за совместимости.

Цитата Сообщение от Alex Prozac Посмотреть сообщение
И почему тогда все это стало так популярно?
Запорожец, москвич, жигули раньше тоже были популярны, но устарели. Также и AVR устарел.
0
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
02.12.2020, 21:08 60
Цитата Сообщение от locm Посмотреть сообщение
Может линукс и не гарантирует, а винда гарантирует. Она привязывает идентификаторы USB к номеру COM порта и сохраняет их.
Я ведь уже писал, что она пытается это сделать, но по какой-то причине не может.
Цитата Сообщение от locm Посмотреть сообщение
Если использовать разный протокол (хотя бы отличающийся алгоритм подсчета контрольной суммы), проблем не возникнет.
Они все по rs232 общаются, они все покупные - где я вам отдельные протоколы писать буду?!
Цитата Сообщение от locm Посмотреть сообщение
Вы сейчас точно про AVR? Их всего несколько с USB.
Я про задачу liv, откуда мне знать какие контроллеры и для чего он использует?
Цитата Сообщение от locm Посмотреть сообщение
Программный USB - тормоз с множеством ограничений и большой нагрузкой на МК. Не тратьте на него время. Берите МК с аппаратным USB.
... и пользуйтесь чужой черной магией без попыток понять откуда она берется.
Цитата Сообщение от Alex Prozac Посмотреть сообщение
И есть у STM'а еще один минус: я по-старинке платы травлю - рисую их маркером. А чтобы нарисовать разводку под корпус STM'а, нужно быть художником) Они же идеологически и уперто не признают DIP!.. В "лазерном утюге" пока не возникало необходимости - хватает и моих кривоплаток с головой...
В крайнем случае есть blue-pill'ы, только они огромные.
Цитата Сообщение от locm Посмотреть сообщение
Надеюсь вы не пытались писать для STM32 на асме?
Я для riscV (gd32vf103) писал на асме. Потому что фирменные примеры не захотели компилироваться, а без этого трудно понять как заставить работать прерывания. А вот через Асм вполне наглядно получилось.
Осталось только перевести полноценный Асм в стартап-код чтобы писать на Си. И заставить наконец работать JTAG. Не для отладки, разумеется, а потому что дергать ресет и бут0 неудобно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2020, 21:08

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

Найти точки от цели до цели
Добрый день, нужна помощь в задаче Изначально заправок 8. 1) Radion 2) kesmolovo 3) statrek 4)...

Программирование микроконтроллеров
Можно- ли в lazarus программировать микроконтроллеры на паскале? Заранее благодарен за ответ.

Программист микроконтроллеров
Такой вопрос возник у меня, хороша ли работа "программиста микроконтроллеров", изучаю Ассемблер для...

Применение микроконтроллеров
Занимаюсь программированием микроконтроллеров и всегда хотелось сделать что-то полезное, нужное....

Программирование микроконтроллеров
Собственно хочу узнать как и где. В нете не смог найти хорошо структурированной информации. Прошу...

Программирование микроконтроллеров
где почитать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.