![]() |
|
![]() |
#1 | |
Junior Member
Регистрация: 27.11.2013
Адрес: Москва
Возраст: 46
Сообщений: 12
Вес репутации: 0 ![]() |
![]() Цитата:
Для себя я создал минимальный набор библиотек переделанных из дистрибутива Ардуины, который позволяет с минимальными переделками подключать к своим проектам дополнительные полезные библиотеки для неё же, плюс всё что душе угодно и собирать всё в среде AVR Studio. Так мной был почти полностью выдран Wiring (кроме кода для функций задержек) и все обращения к железу я всегда переписываю напрямую. Это к вопросу, возможно ли это. Да, не только возможно, но и крайне полезно для производительности. Никаких особенностей нет, кроме того, что надо внимательно прочитать даташит на AVR'ку и понять что и как управляется. С этого вообще и надо начинать знакомиться с МК, но вот Ардуина напрочь отбивает такое желание. Если интересно, как собирать ардуиновские проекты под AVR Studio, могу сделать отдельный пост. |
|
![]() |
![]() |
![]() |
#2 | |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 800 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
1 и 2 - Можно везде если есть смысл, но проще тогда уж напрямую обращаться к портам 3 и 4 - внимательность, внимательность и еще раз внимательность. Как и на всех низкоуровневых баги отслеживать трудно. А использовать его вместо Arduino стоит если не хватает памяти или быстродействия. |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0 ![]() |
![]() Цитата:
Ардуина со своим языком хороша для тех, кто не хочет ковыряться в даташите и вникать в архитектуру контроллеров. Эти люди делают игрушки-поделки в которых быстродействие никому не нужно. Главное, что все просто, понятно и работает. Чтобы развлечься или заинтересоваться больше и не надо. Не все делают следующий шаг в изучении контроллеров, не все в этом заинтересованы, это нормально. Если человек берется сделать что-то серьезное он должен понимать, что ардуина не подойдет, есть AVR'ки, ARM'мы, есть другие МК. Ругать игрушку за то, что она не умеет решать промышленные задачи нынче модно, но это не от большого опыта. |
|
![]() |
![]() |
![]() |
#4 | ||||
Junior Member
Регистрация: 27.11.2013
Адрес: Москва
Возраст: 46
Сообщений: 12
Вес репутации: 0 ![]() |
![]() Цитата:
Что в ней безусловно хорошего: 1) Железки. Богатый выбор готовых плат на любой вкус для строительства прототипов за смешные деньги. Я даже не про шилды. Пример: есть расово китайский iBoard с W5100 на борту. Считается, что он из рода Ардуинов. Да и фиг с ним. Зато заказать той же комплектухи, плату и всё собрать себе дороже выйдет. Почему не взять готовое? Ну, только я из него Ардуиновкий загрузчик тут же выкинул и зашил загрузчик по tftp. Теперь у меня есть копеешный контроллер и он полностью доступен на удалёнке, в т.ч. для перешивки, что мне и требовалось. Ардуино это или уже нет? И что чему тут костыль? 2) Софт. В Ардуине масса полезного кода. Известно, что переписывать существующий открытый код в своём изложении - дурной тон, это раз, бесполезная трата времени, это два. Но просто так на дурака ардуиновские исходники в свой проект не инклудятся, обидно, да? А тянуть всю Ардуину скопом смысла никакого нет. Почему так, я раньше написал. Поэтому я их маленько покоцал и теперь могу свободно подключать к своим проектам, например, функции TCP/IP, функции форматного вывода в консоль, всякие модули для работы с датчиками. Захочу, могу собрать свой проект и с ардуиновскими setup() и loop(), а могу и выкинуть их и писать от main(), как будто ардуиной тут вообще не пахло. Во многих исходниках я код всё же правил: по мелочи в TCP/IP и выводе на консоль, а большая часть кода для датчиков перепахалась в итоге почти полностью. Но писать всё с нуля было бы просто неразумно. И это был бы тот самый костыль. Цитата:
Цитата:
Цитата:
А кто здесь про промышленные задачи писал? Вы эту птичку не трогайте, то совсем другая сказка. И игрушку никто не ругает. Я, скажем, ругаю не её, а систему, которая типа как учебная, но нихрена ничему научить не может. И пытаюсь сподвигнуть людей вылезать из этой норы и смотреть по сторонам. Причём для этого даже ничего не надо выкидывать и докупать. |
||||
![]() |
![]() |
![]() |
#5 | ||||||||||||||||
Senior Member
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0 ![]() |
![]() Цитата:
![]() Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
![]() Цитата:
Цитата:
Цитата:
Цитата:
|
||||||||||||||||
![]() |
![]() |
![]() |
#6 | |||||||
Junior Member
Регистрация: 27.11.2013
Адрес: Москва
Возраст: 46
Сообщений: 12
Вес репутации: 0 ![]() |
![]() Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
"хотелось бы УСЛЫШАТЬ МНЕНИЯ: - где можно и корректно использовать "такую замену" ардуиновским функциям - где нет - какие особенности - подводные камни - итд" Ответ: "...все обращения к железу я всегда переписываю напрямую. Это к вопросу, возможно ли это. Да, не только возможно, но и крайне полезно для производительности. Никаких особенностей нет, кроме того, что надо внимательно прочитать даташит на AVR'ку и понять что и как управляется." Я не готов писать статью на тему управления портами, признаю. Вот пара полезных ссылок. Для совсем начинающих, чтобы понять как это работает: AVR. Учебный курс. Устройство и работа портов ввода-вывода. И очень мощная статья для гуру "плюсов" и желающих прокачаться до 80го уровня: Работа с портами ввода-вывода микроконтроллеров на Си++. Ещё по поводу "особенностей" добавлю. Если, при переходе с Wiring на прямое управление портами, система стала "как-то не так" себя вести, то это вероятнее всего следствие увеличения быстродействия. Код может начать, например, банально эффективнее ловить дребезг или какую-то ВЧ наводку на входе. Тормоза Wiring работали как типа программный ФНЧ. Или просто код написанный на задержках съехал с верного тайминга, т.к. исчезла паразитная задержка на вызовах Wiring. Цитата:
Хм, таки да. Я как-то не подумал. В своё время я собрал программатор на LPT за один вечер и не заметил "накладный расходов". А можно было и просто 5 кусков провода залудить. Теперь то будет проще купить программатор на USB, чем искать комп с LPT. Впрочем, этих программаторов за недорого китайцы наклепали в изобилии. Покупать Ардуину всё равно выгоднее у них же, а не в ЧиД долбанутом, каком-нибудь. |
|||||||
![]() |
![]() |
![]() |
#7 | |||||
Senior Member
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0 ![]() |
![]() Цитата:
![]() Цитата:
Цитата:
Цитата:
![]() Цитата:
![]() |
|||||
![]() |
![]() |
![]() |
#8 | ||
Junior Member
Регистрация: 27.11.2013
Адрес: Москва
Возраст: 46
Сообщений: 12
Вес репутации: 0 ![]() |
![]() Цитата:
Цитата:
Я думал про это, но получается, что уже на последней матери с COM/LPT они мне были не нужны. Программатор для AVR с USB, и есть платка с FT232RL со всеми разведёнными ногами. Эта пара полностью заменяет мне наличие COM/LPT на любом подвернувшемся компе. А ещё я люблю форматы Mini-ITX и меньше, так что PCI не везде и в корпус войдёт. |
||
![]() |
![]() |
![]() |
#9 |
Member
Регистрация: 16.11.2013
Сообщений: 32
Вес репутации: 0 ![]() |
![]()
народ, огромное спасибо за ваши мысли, комметы, волшебные пендили...!!!
|
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|