Какую среду разработки выбрать для програмирования без ардуины?

axill
Offline
Зарегистрирован: 05.09.2011

Извиняюсь за крамольный вопрос на форуме про ардуино )) Но я как-то ближе всего этот форум воспринимаю, на других не общаюсь. Ардуино более менее освоил, сдеал один достаточно сложный проект. Сейчас хочу поработать с россыпью. Вчера пытался сделать простой скетч на attiny2313 и попробовал это сделать в winavr и IAR для AVRов. Есть вопросы:

  1.  Буду признателен за ссылки на грамотное описание програмирования в средах winavr/iar/avr studio
  2. Буду признателен за подсказки какую из этих сред лучше выбрать для хобби. Конечно по аналогии с ардуино важно иметь как можно больше примеров в интернете с библиотеками и скетчами. Но и удобство тоже важно. Эффективность компилятора наверно на последнем месте по значимости
  3. Почему распространен бесплатный с открытым кодом winavr когда есть бесплатный avr studio от самого производителя контроллеров?
  4. У меня есть немного россыпи microchip :) буду признателен за полсказки с чем с ними работать )

И еще буду признателен за ссылки на тематические форумы, не ардуиновские. я разные посмотрел, но как-то ни один не приглянулся (радио кот easyelectronics и т.д.)

 

vworld
vworld аватар
Offline
Зарегистрирован: 26.09.2011

IDE вы хотите? почему бы не eclipse?

axill
Offline
Зарегистрирован: 05.09.2011

vworld пишет:

IDE вы хотите? почему бы не eclipse?

С эклипсом знаком по древней моей практике прогрпамирования на джаве. А что к эклипсу есть грамотнгый плагин для работы с AVR? Я не видел ни одного упоминания эклипса на avr_ных форумах

a-sergey
Offline
Зарегистрирован: 20.01.2012

А для microchip можете попробовать компиляторы Mikroelektronika, правда они платные.
В соединении с PicKit2 прекрасно работают.
Да и собственная платформа MPLAB IDE тоже хороша, только мне не понравился редактор.
Какой-то он примитивный, нет цветных подсказок об ошибках, только сообщения о номере ошибочной строки.

axill
Offline
Зарегистрирован: 05.09.2011

a-sergey пишет:

А для microchip можете попробовать компиляторы Mikroelektronika, правда они платные.
В соединении с PicKit2 прекрасно работают.
Да и собственная платформа MPLAB IDE тоже хороша, только мне не понравился редактор.
Какой-то он примитивный, нет цветных подсказок об ошибках, только сообщения о номере ошибочной строки.

MPLAB это то, что для leaf maple? Мечтаю добраться )) но сначала освою avr и микрочип

Я правильно понимаю, что по большому счету выбор среды разработки не связан с выбором програматора?

И если я верно понимаю, то большая часть avr-ов может програмироваться по паралельному интерфейсу, так называемому ISP (внутрисхемное програмирование), для этого нужно на плате предусматривать разъем куда выведены два провода питания и три провода SPI интерфейса. Тогда имея специальный адаптер можно програмировать не вынемая из схемы. Это альтернатива для удобства для контроллеров в DIP корпусах и практически единственный вариант для других типов корпусов, которые впаиваются и не подразумевают сьемные панельки. Кроме того есть паралелльные програматоры (у меня такой тодже есть) которые хороши тем, что могут запрограмировать даже те чипы у которыз на уровне FUSE стоит запрет на програмирование через ISP.

Вот.  Мои познания )) Еще как я понял ардуина не использует ISP. Ардуина использует код своего бутлоадера с тем, чтобы получив данные через UART (RX/TX) самой себя перепрограмировать.

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

Ну и резюме. Не важно какая среда програмирования, имея на выходе HEX я тем или иным способом могу все запрограмировать. Так?

axill
Offline
Зарегистрирован: 05.09.2011

Найти содержание ошибки не смог. Крутил настройки проекта - не помоглою

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

axill пишет:

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

Если к этим ногам подключен выход чего-либо, это должно быть сделано через резистор не менее 470 Ом.

axill пишет:

Ну и резюме. Не важно какая среда програмирования, имея на выходе HEX я тем или иным способом могу все запрограмировать. Так?

Да. Ардуино тоже делает HEX, только до него добираться неудобно, но если включить подробный вывод при компиляции, то там будет путь до хекса.

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

Да. Ардуино тоже делает HEX, только до него добираться неудобно, но если включить подробный вывод при компиляции, то там будет путь до хекса.

Однако если не ошибаюсь hex из ардуиновской среды нельзя поместить в голый чип - загрузчик ардуины несет на себе часть необходимых процедур при старте контроллера. Это только если применять чипы с уже загруженным бутлоадером от ардуины, так?

Я кстати так и не смог запустить/найти в инете решение по тому как использовать сторожевой таймер с бутлоадером ардуины. Все пишут, что нужно делать исправленный загрузчик, но пока для меня это высший пилотаж. А вот в голом чипе использовать сторожевой таймер достаточно просто

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

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

А сторожевой таймер - не знаю. Если он фузы не затрагивает, то ничего не мешает его через регистры управления "ручками" включить. Стало интересно - посмотрю :)

А вот, кстати, "мигалка на собаке :) )

#include <avr\wdt.h>

void setup()
{
  pinMode(13,OUTPUT);
  wdt_enable(WDTO_500MS);
  delay(250);
  digitalWrite(13, HIGH);
}

void loop()
{
  
}

 

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

А вот, кстати, "мигалка на собаке :) )

Мигалка использует "неправильный" способ по сторожевому таймеру - предполагает штатную постоянную перезагрузку контроллера :)

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

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Не понимаю, в чем здесь "неправильность". Я не обнуляю WDT - вот он и срабатывает.

Может, dfv чем-то поможет статья.

Если я в мигалку в loop ставлю wdt_reset(), то оно и не мигает соответствнно

carduino.ru
Offline
Зарегистрирован: 06.12.2011

AlexFisher пишет:

Не понимаю, в чем здесь "неправильность". Я не обнуляю WDT - вот он и срабатывает.

Может, dfv чем-то поможет статья.

Если я в мигалку в loop ставлю wdt_reset(), то оно и не мигает соответствнно

Все правильно, WDT так и должен работать

axill
Offline
Зарегистрирован: 05.09.2011

С чего начать при работе с голыми avr-ами?

Пример blink освоил, но дальше не понимаю. Если с ардуиной легко готовые скетчи и библиотеки найти, то с голым avr даже для простой задачи не понятно за что схавиться. А у меня задачки в планах не простые :)

Или продолжать все компилировать в среде ардуино используя примеры и библиотеки при этом ограничить себя только теми процессорами, которые среда поддерживает?

Ух...не было у бабы порося, села баба програмировать...

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Среда поддерживает очень много процессоров. Нужно только их там правильно "прописать".

Если не привязываться к ардуине, то попробуйте CodeVisionAVR - там хороший мастер создания конфигурации и есть встроенные библиотеки.

Почитайте статью о программировании на чистом с для ардуины - подтолкнет куда-нибудь :)

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

Среда поддерживает очень много процессоров. Нужно только их там правильно "прописать".

Если не привязываться к ардуине, то попробуйте CodeVisionAVR - там хороший мастер создания конфигурации и есть встроенные библиотеки.

Почитайте статью о программировании на чистом с для ардуины - подтолкнет куда-нибудь :)

Спасибо, попробую )) Кстати, один и тот же скетч по морганию светодиодом почему-то в winavr и в atmel studio компилируются с разными параметрами для функции _delay - в winavr вроде задержки правильные, а вот в atmel studio раза в 4 короче. С чего бы это?

step962
Offline
Зарегистрирован: 23.05.2011

 Кстати, один и тот же скетч по морганию светодиодом почему-то в winavr и в atmel studio компилируются с разными параметрами для функции _delay - в winavr вроде задержки правильные, а вот в atmel studio раза в 4 короче. С чего бы это?

[/quote]

Рискну предположить, что в настройках проекта указана неправильная частота процессора; в первом случае вы случайно, но очень удачно попали в нужную вам частоту (заданную по умолчанию), а во втором - увы и ах! - придется ручками делать соответствующую настройку ("Project"/"Configuration Options"/"Frequency")

axill
Offline
Зарегистрирован: 05.09.2011

step962 пишет:

Рискну предположить, что в настройках проекта указана неправильная частота процессора; в первом случае вы случайно, но очень удачно попали в нужную вам частоту (заданную по умолчанию), а во втором - увы и ах! - придется ручками делать соответствующую настройку ("Project"/"Configuration Options"/"Frequency")

ваше предположение почти верное ) это не в настройках проекта, нужно объявить в препроцессоре константу:

#define F_CPU 8000000UL

Кстати, разобрался с Atmel Studio. Не понимаю, почему народ пытается пользоваться старым (последний релиз 2010) WinAVR или платными CodeVision и IAR. В Atmel все просто отлично - есть и подсказки кода и нормальное управление проектами и отладка во встроенном симуляторе где можно пошагово отлаживать скетч и контролировать состояние всех частей процессора. В связке с протеусом очень все классно - первичная отладка в Atmel Studio, потом переходим в протеус, докручиваем и после этого уже идем собирать скетч из реальных деталей на макетке. Осталось только прикрутить к Atmel Studio JTAG програматор. Тогда можно будет не только прошиваться прямо из студии, но еще и отладку вести прямо живого устройства. Пока еще не освоил

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

CodeVision народ (я в их числе) юзает из-за хорошего мастера создания проекта (конфигуратор переифирии) и пары-другой встроенных библиотек (LCD, DS1820...)

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

CodeVision народ (я в их числе) юзает из-за хорошего мастера создания проекта (конфигуратор переифирии) и пары-другой встроенных библиотек (LCD, DS1820...)

Я и сам уже понимаю это... попробовал сделать температурный контроллер. Все вроде бы хорошо начиналось, особенно с отладкой. Но как только дошел до реализации работы с DS18B20 и захотел динамическую прорисовку индикаторов заложить в прерывания по таймеру то наткнудся на стопор. Самому долго разбираться со всеми протоколами. Половина примеров из интернета не компилируется (либо из-за того, что у меня девайс другой либо потому, что среда другая), а половина компилируется, но не работает. Как только речь доходит до периферии то с AVR studio труба - библиотек нет. В этом конечно Ардуино супер есть и библиотеки и примеры. Попробую на CodeVision сделать свой проект. Ардуина классная, но как-то я ее пережил, хочется простора ))

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

Среда поддерживает очень много процессоров. Нужно только их там правильно "прописать".

Если не привязываться к ардуине, то попробуйте CodeVisionAVR - там хороший мастер создания конфигурации и есть встроенные библиотеки.

Почитайте статью о программировании на чистом с для ардуины - подтолкнет куда-нибудь :)

Спасибо за подсказки насчет мастера в CodeVision. Удалось таки мне собрать свой проект термо контролера. Правда как выяснилось с моими датчиками DS18B20 - ключевое это буква B - требуют библиотеки которая сьела почти всю память контроллера. Она почему-то масивная, а библиотека легковесная для датчиков без буквы B с моими датчиками не работает

axill
Offline
Зарегистрирован: 05.09.2011

Отладил схему в протеусе, сегодня собрал в железе. Странно, но в протеусе с датчиком с букво B (DS18B20) работала только специальная функция из библиотеки CodeVision, а в железе "не полетело" зато заработала функция которая по описанию для датчика без буквы или с буквой S

кривые датчики?

 

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Скорее, кривые библиотеки протеуса.

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

Скорее, кривые библиотеки протеуса.

так вот как раз в протеусе виртуальные датчики с буквой B нормально вяжутся с библиотекой из CodeVision для датчиков с буквой B

А вот реальный датчик с библиотекой CodeVision не вяжется

С одной строны я рад = библиотеа с буквой B сьедает почти 1кб из 2кб которые есть у 2313 и вроде как мне ни к чему 12бит точность, которая должна быть у датчика с B. Но как в том анекдоте - "осадочек остался" ))

leshak
Offline
Зарегистрирован: 29.09.2011

Гугланул. Оказывается avr studio сделан на базе Visual Studio.

Никто не встречал, а можно ли как-то оригинальную Visual Studio  заюзать для этого гнусного дела? Вроде C/C++ она умеет.

leshak
Offline
Зарегистрирован: 29.09.2011

 А еще такой вопрос.

Как-то везде, как само собой разумеющиеся, подразумевается что "Ардуина это для чайников", а вот True-контрольщики на C/ASM пишут.

Ну преимущества ASM - я могу понять. А вот "голый C"? Типа "свобода больше". А в чем? Посмотрел по статья, форумам. Да вообщем-то от ардуиновского кода особо не отличается. Ну тут delay(), а там _delay_ms(). Ну не "нравится" тормознутый digitalWrite, так и в ардуине никто не мешает напрямую в порт писать. Таймеры/делители выставлять (если знаеш что это такое).

Единственное "исключение" которое я знаю это WatchDog который нормально не работает из-за бага в бутлоадере (но ведь можно его "затереть" и пользоватся програматором).

Вообщем как-то похоже, что "несвобода" больше в голове, чем в языке/среде.

Может, кто-нибудь, привести пару примеров где "на голом C-можно сделать", а на Arduino - нельзя (или гиморойней раз в 10-ть).

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

 

axill
Offline
Зарегистрирован: 05.09.2011

leshak пишет:

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

Думаю большая часть причин субъективная. Если объективно смотреть, то тот, кто освоился с ардуино может легко писать программы хоть используя библиотеки ардуины хоть иногда записывая что-то напрямую в порт. Но при этом он изначально сможет писать код только под atmega или даже точнее под atmega328/atmega2650.

Я делал мини проект на attiny2313 и столкнулся с тем, что многие примеры для ардуионо или даже atmega8 не работают для attiny2313. Кроме того мир микроконтроллеров на atmel не замыкается. А мир ардуино замкнут только на атмел.

Сейчас в китайских интернет магазинах появилась целая серия разнообразных плат на базе STM. По возможностям ардуина даже рядом не стояла, а цена примерно такая же. Вот пример многофункциональной платы по цене всего 27 долларов www.buyincoins.com/new_en/details/stm32f103rbt6-development-board-w-2-8-tft-module-true-color-touch-screen-panel-product-11581.html. Хочу попробовтаь сделать на ее базе устройство

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Очень приличная платка... Я приобрел ардуину на STM32, но еще толком не разбирался.

2 leshak

На дуине можно делать все, писать на голом с, на asm, но отладки нет, а частенько надо. Если что-то считается не так, как предполагалось, например, легко найти ошибку просто прошагав программу контроллируя содержимое регистров.

Ну и с геморойностью... попробуйте написать пример "мигаем без delay" на голом с. :)

Это в защиту дуины и ее библиотек. Есть и камушек в огород. Размер. Память заканчивается и начинаем оптимизировать код. Часто под нож идут именно ардуиновские библиотеки.

А вообще, мне STM нравится больше, чем AVR, но с ним сложнее...

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

А вообще, мне STM нравится больше, чем AVR, но с ним сложнее...

С чего начать с STM? Скачал нечто типа STM tools с официального сайта. Оно?

Еще заказал ST-Link чтобы делать отладку через JTAG

leshak
Offline
Зарегистрирован: 29.09.2011

Спасибо. Я так понял что принципиальных "различий" в возможностях ардуины нет :)

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

Все что описал axill скорее относится к выбору камня, а не "платы/среды". То что код написаный для Atmega не идет на тиньке... так это же не минус ардуины :)  (кстати для тинек тоже есть форк ардуины).

2AlexFisher: размер - это да. отладка... Proteus/SerialPrint. Хотя есть платные (относительно не дорогие), которые умеют и эмулировать/дабегать.

На "голом С - мигаем без делай" (я так понял вы намекаете на необходимость знакомство с аппаратными таймерами). Ну дык ведь он же на Arduinо заработает. Так что "в минусы" опять-таки записать сложно.

Намного мощьней/дешевле камни есть... вот тут можно согласится. Только тут резко выплывает "для каких задач?". Если для "домашника/любителя" так ведь и та же мега редко на 100% используется (если честно "тестноты меги" еще не разу не ощутил). Цена - опять-таки $5-$10, на фоне всего остального, пару раз в год (или вообще разово) - тоже не существенно.

Размер - мне вообще проще купить камень/плату побольше чем парится нащет размера.

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

В чем-то конечно ардуина провоцирует "не знать камень/железо" (хотя, не зная, тоже сильно не уедешь), но если человек решил свои задачи и "погружатся в дебри камня" - ему не интерестно, ну так может и не нужно? А кому "нужно", так и ведь нет преград в ардуине :)

Для "серийных" девайсов - тут конечно да. И цена и размер (влияет на цену) - приобретают гораздо большее значение. Но, опять-таки, ардуину вполне подойдет именно "для прототипирования"

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

axill пишет:

С чего начать с STM? Скачал нечто типа STM tools с официального сайта. Оно?

Еще заказал ST-Link чтобы делать отладку через JTAG

С STM лучше всего начать с отладочной платы отряда Discovery (лучше STM8l-Discovery, там индикатор есть, или STM8S-discovery - стоит просто смешно). На платах уже есть SWD-интерфейс (ST-link), так что ничего больше не надо. Сам развлекаюсь - нравится... несмотря на "мало инфы, а что есть - на англиском".

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

С STM лучше всего начать с отладочной платы отряда Discovery (лучше STM8l-Discovery, там индикатор есть, или STM8S-discovery - стоит просто смешно). На платах уже есть SWD-интерфейс (ST-link), так что ничего больше не надо. Сам развлекаюсь - нравится... несмотря на "мало инфы, а что есть - на англиском".

Я имел в виду не железо, а софт. Плата из моей ссылки выше ко мне уже едет. Как я понял у ST есть своя среда типа как avrstudio. И кроме этого есть версия IAR

ivanbernatsky
Offline
Зарегистрирован: 28.09.2012

leshak пишет:

 

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

 

 

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

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

А вот теперь задайте себе вопрос: в чем сложность написать прогу на С нежели писать ее на ардуине? Оглядываясь назад я понял что изучить С не сложнее чем в ардуине разобраться. И если вы не хотите начать верить в чудеса и другие необъяснимые явления при программировании и эксплуатации буратины, я бы посоветовал пропустить этот неправильный шаг и купить норм программатор и делать все на нормальном языке...  ВОБЩЕМ БУДЬ ПРОКЛЯТ ТОТ ДЕНЬ КОГДА Я КУПИЛ АРДУИНУ . Да простит меня модератор..

axill
Offline
Зарегистрирован: 05.09.2011

ivanbernatsky пишет:

А вот теперь задайте себе вопрос: в чем сложность написать прогу на С нежели писать ее на ардуине?

не корректно пишите. ардуина програмруется на том же C

в вашем примере дело точно не в языке програмирования, или левая ардуина была не защищенная от помех либо всплыли особенности схемотехники в конкретной задаче

maksim
Offline
Зарегистрирован: 12.02.2012

ivanbernatsky пишет:
...я все таки решился купить программатор и попробовать сделать все на С. Результат - все работает без сбоев...

То есть прошив ту же самую дуину внешним программатором из другой среды разработки у вас все заработало? А точнее вы пробовали копировать написанный код в например АВРстудио, вставить его в АрдуиноИДЕ и когда прошиваете тот же самый код из АрдуиноИДЕ - то не работает, а когда прошиваете тот же самый код из АВРстудио - то все работает? Так вы это проверяли? Или код всетаки был разный?

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

И как вам уже написали выше - нет никакого ЯЗЫКА АРДУИНО, есть С и он одинаков в любой среде разработки и в том числе в АрдуиноИДЕ.

Так может дело не в среде разработки, а в том что вы не смогли правильно воспользоваться этой средой?

leshak
Offline
Зарегистрирован: 29.09.2011

ivanbernatsky пишет:

на столе понятное дело все работало

Вывод - ардуина путается в собственном коде. 

А вам не кажется что вы тут конкретно сами себе противоречите? И ваш "вывод" - высосан из пальца? Или вы думаете что ардуина как-то так хитро прошивает код что он "осыпается" если ее снять со стола? 

Причину проблемы - вы так и не нашли. То что на другой плате/с другими опциями компиляторы вы случайно "проскочили мимо нее" - говорит о чистом везедении. И не факт что вы не получите подобные  проблемамыи в следующем проекте.

Арудина "виновата". Но только в том что пообещала "не нужно разбиратся с языками и т.п." А это, все-таки, нужно.

А уж проклятья раздавать... вместо того что-бы предположить что "сам что-то недополнял".... Ну хотя-бы то что ArduinoIDE не содержит собственного компилятора, а вызывает "сторонний". Поэтому утверждения "путается в коде" - выглядят нелепо. Как и утверждение "в ардуине разобратся". Вы же так и не "разобрались"-то.

Я конечно понимаю что вы это все воспримите как "фанатики защищают свою любимицу". Ну да пусть будет так :) "Обращать в ардуино-веру" тут никто не будет. По крайней мере я. Хотя-бы потому что вот никак и разницы то между этими "верами" особо увидеть не могу. Не то что "они равносильны", а похоже "это одно и тоже".

ivanbernatsky
Offline
Зарегистрирован: 28.09.2012

Единственное преимущество ардуины только в том  что это готовая платформа, подвесил обвязку и вперед. Больше преимуществ нет. Можете тут распыляться сколько угодно, но что то мне подсказывает что в глубине души вы все так думаете ).

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

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

а на счет работоспособности на столе и вне его, я имел в виду продолжительность испытаний. вот что может случиться с устройством которое работает без сбоев некоторое время а потом виснет. внешние наводки я исключаю, т.к за несколько недель борьбы с этим явлением была сделана оптическая развязка по всем входам и выходам + сурьезный фильтр по питанию и все это в экране..кто считает что этого недостаточно - загляните на плату мозгов любого авто - в развязке обычные С/RC цепочки,  или объясните мне почему на той же самой микросхеме прошитой AVRstudio все работает четко. уж поверьте разбираться в ардуине после таких приколов нет никакого желания.

ATmel рекомендует использовать AVR Studio для прошивки своих МК. на вашем месте я бы последовал этому совету. И если вам не с чем сравнивать ардуину, было бы неправильно тут во все горло кричать

пс. плата ардуино уно, с виду очень даже оригинальная, купленая в нормальном магазине..

ппс. 2 leshak: начав свой рассказ в благих целях - наставить на путь истинный и уберечь от будующих бед, я понял что ты все же не готов услышать правду об ардуине.Уж не знаю кто там и какой компилятор вызывает, и вообще нужно ли мне это знать если я ламер и купил ардуину только потому что там якобы будет проще.. очевидно одно - ПО, которое прилагается к ардуине - КРИВОЕ.  Да простит меня модератор, всем удачи.

 

Zapek@n
Offline
Зарегистрирован: 16.02.2012

ivanbernatsky пишет:

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

Утечка памяти? Может Ардуино и не причем

maksim
Offline
Зарегистрирован: 12.02.2012

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

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

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

А к библиотекам - к любым - всегда есть претензии.

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

leshak
Offline
Зарегистрирован: 29.09.2011

 

AlexFisher пишет:

 

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

Не обязательно железная. Может просто использовалься какая-то либа, которая внутри себя, на дуине использует 8-битный таймер, а ее аналог из AVR - 16-ти битный.
А разбиратся - не хотелось.
Или даже сам, когда писал для дуины, скопи-пастил где-то пример с переменной типа byte, а для AVR нашел пример где случайно объявили типа unsigned int. (или наборот, в дуино-примере - потеряли слово unsigned)
Поэтому для дуины, при долгой работе переполнение было, а для AVR - нет.

А вообще IMHO - проблема в использовании "религиозного подхода". В вере. В попытке найти "правильного бога". Дуино-бог - не оправдал ожидания. Значит будь он проклят.

Поэтому и "спроецировал" себя на нас. Начисто проигнорировав что сама ветка о том, как люди пытаются найти доводы именно "где границы применимости ардуины", и что как минимум пара человек пробовала и другие среды и другие камни. И успешно. И используют. Отсюда и попытки "наставить на путь истинный" (как будет он существует) и постоянные "да простит меня модератор" (предположения что для модератора Ардуина это бог, а он жрец ее и может оскорбится).

P.S. Да и банально бывает "брак". Плохо нога пропаялась.У меня было, у клиента, два одинаковых шилда. Из одной партии. Покупались вместе. Один работает, другой - то работает, то нет. Причем при покупке, пару месяцев назад, работали стабильно оба.
Но человек все-таки нашел причину, без привлечения мистики ("дуина путается в коде" - это именно мистический подход). Взял микроском и нашел что при хранении на одном из шилдов плата дала микротрещену и расслоилась.