Злые вы... Последний кусок хлеба у бедного многодетного китайца отнимаете... Он изо всех сил старается, собирает/паяет что-то у себя в подвале (в котором видимо и живет со своей семьей), работает за еду, а вы такие неблагодарные и бессердечные.
Аха, на самом деле это называлось "магнитная москитная сетка", приехало штук пять липучек, мешочек с гвоздями, но без занавесок. Я им даже предлагал вернуть, за их счет))). Не согласились(((. Али бабосы возвернул))).
У меня сегодня, кстати, тоже диспут разрешился. LCD экранчик на ILI9341 так и не приехал, более 60-ти дней прошло. Хитрый китаец мне пишет: мол, я сейчас на почту метнусь и разберусь с ними, как что-то станет известно - сообщу. А ты пока диспут закрой и пять звезд мне поставь :)) И ещё подожди... Как только диспут обострил - согласился на full refund.
А я вот не помню, но вроде было, что если закроешь, то потом уже не откроешь этот диспут.
Да, так и есть. Поэтому я его не закрыл по просьбе продавца, а обострил. После чего он сам его принял/закрыл и согласился на полный возврат. Сказал что сожалеет за причиненные неудобства и ждёт от меня пять звёзд. Ну я поставлю, мне не жалко :)
У меня за всю историю покупок бывали иногда шороховатости с продавцами, но так как удавалось всегда разрулить, то кроме пяти звезд у меня никогда других оценок небыло. Мне все равно, а им приятно.
А я вот не помню, но вроде было, что если закроешь, то потом уже не откроешь этот диспут.
Да, так и есть. Поэтому я его не закрыл по просьбе продавца, а обострил. После чего он сам его принял/закрыл и согласился на полный возврат. Сказал что сожалеет за причиненные неудобства и ждёт от меня пять звёзд. Ну я поставлю, мне не жалко :)
Ничего подобного, диспут на али можно открывать и закрывать многократно, мне правда более 3х раз не приходилось этого делать.
Заканчивалось время защиты, за 2-3 дня просил продлить, если продавец молчал в ответ, за день до окончания защиты открывал спор, у него 4 дня на ответ. Как правило они реагируют сразу и продляют время защиты с просьбой отменить диспут. Я, увидев, что время защиты продлено, закрывал диспут и ждал еще и т.д.
Но тут самое главное не прозевать время окончания защиты, если оно истекло, то все, больше вы от него ничего не получите и вестись на любые уговоры и доводы их не стоит. Я несколько раз терял деньги, по первости, более 5 лет назад, теперь ученый... :)
Самое интересное на Али и Ебее то, что там все в 2-3 раза дешевле чем у нас, это еще учитывая бесплатную доставку. С нашей почтой даже сравнивать язык не поворачивается. Причем себестоимость товаров видимо настолько мизерная, что они могут себе позволить продавать все по таким ценам, да еще и включая в эту стомость, стоимость доставки. И при всем этом экономика Китая шагает вперед семимильными шагами. Возникает вопрос, от куда у нас такие цены на наши товары, какова их себестоимость, кто набивает карманы в таких огромных колличествах??? Чегото меня в политику понесло... :)
Самое интересное на Али и Ебее то, что там все в 2-3 раза дешевле чем у нас, это еще учитывая бесплатную доставку. С нашей почтой даже сравнивать язык не поворачивается. Причем себестоимость товаров видимо настолько мизерная, что они могут себе позволить продавать все по таким ценам, да еще и включая в эту стомость, стоимость доставки. И при всем этом экономика Китая шагает вперед семимильными шагами. Возникает вопрос, от куда у нас такие цены на наши товары, какова их себестоимость, кто набивает карманы в таких огромных колличествах??? Чегото меня в политику понесло... :)
На вопрос "хто", ответил сам в последней фразе))). Пошлина+НДС+усе налоги для белой зарплаты+содержание помещения и опять налоги на него, продаван то я думаю в итоге, дай бог процентов 30 получает.
.... они могут себе позволить продавать все по таким ценам, да еще и включая в эту стомость, стоимость доставки. И при всем этом экономика Китая шагает вперед семимильными шагами. Возникает вопрос, от куда у нас такие цены на наши товары.....
Я бы еще добавил и на не наши. Все это большая загадка.
Бесплатная доставка у них субсидируется китайским правительством для того чтобы каждый китаец мог заработаеть себе на хлеб, а заодно обеспечивал рост экономики.
Самое интересное на Али и Ебее то, что там все в 2-3 раза дешевле чем у нас
Но иногда бывают странности. Вот сравните два резистора 1ом/25вт на ali и у нас.
Дешевле я на ali не нашёл. Буду очень благодарен, если покажете (реально нужно).
и эти странности все чаще , те же штекера " бананы" у нас реально дешевле. Последнее время все чаще начал смотреть сначало наличие и цену в местных магазинах)
Подскажите что ещё на Али рискованно закупать, кроме аккумуляторов? Закупаюсь с апреля, первый раз так попал. Вот надо ещё дозаказать транзюков в smd и резисторов с кондюками (с плат что-то сдувается, но на них маркировка как правило отсуствует). Есть вероятность что могут прислать "не тот номинал или марку"? Нашел комплектами 170шт smd МОП .. кто как заказывает и потом тестирует что реально пришло?
Есть вероятность что могут прислать "не тот номинал или марку"? Нашел комплектами 170шт smd МОП .. кто как заказывает и потом тестирует что реально пришло?
Я заказывал выводные транзисторы разных номиналов и разными "вёдрами" - проблем не было. Полсотни операционников - все не проверял, но те штук 20, что уже использовал нареканий не вызвали. Из полутысячи LED'ов (использовал почти все), бракованных (не светятся) оказалось два. В общем больших проблем не испытывал. Правда, я всегда стараюсь выбирать "топ-продавцов".
Есть вероятность что могут прислать "не тот номинал или марку"?
Что угодно может быть. Чтобы совсем уж "от балды" -- это врят ли, но разные "замены на эквивалент" случаются. Из последнего, заказывал LDO xc6206p332 -- это линейный стабилизатор на 3.3вольта 250ма. Приехали, запаял, ничего не работает. Поменял несколько штук, та же фигня. Китайцы конечно мастера фейков и красивых подделок, но чтобы геморроиться и подделывать ленты с копеешными и не самыми ходовыми чипами, как-то не очень на них похоже. Начал чесать репу. Додумался поискать по маркировке, предположив, что китайцы хитрят и шлют еще более дешевый аналог. Так и вышло. В конечном итоге это оказались LM6206, которые имеют ту же маркировку, схожие параметры, но другое расположение ног. Все бы ничего, но плата была уже разведена и вытравлена, однако взвесив, что будет проще и быстрее, то ли устраивать бучу, то ли переделать плату, сделал выбор в пользу последнего. Переразвел, вытравил, запаял и все заработало, как положено.
Быть действительно может чего угодно. Мне вот на днях вместо ip камер на 720p пришли камеры на 1080p, с одной стороны они стоят минимум в 1.5 раза дороже, а с другой видеорегистратор под них я взял 16 каналов 720p, 1080p поддерживает, но только в режиме на 8 каналов, а камер 10.
Пасибки за консультации. Мне поставщик вернул бабки с извинениями, все устаканилось, несмотря на то что оффер закрыл сразу как получил посылку. Проверял уккумуляторы парой дней позже.
Обратил внимание, на али мега328 стоит дороже, чем мега128, хотя последняя является старшей моделью. Для м328 цены начинаются с 390 рублей за пяток, а для м128 с 330.
Обратил внимание, на али мега328 стоит дороже, чем мега128, хотя последняя является старшей моделью. Для м328 цены начинаются с 390 рублей за пяток, а для м128 с 330.
А я давно писал:
Советую обратить внимание только на эти два камня: ATMEGA8A $0.43 / шт , ATMEGA128A $0.70 / шт. Какие либо другие контроллеры покупать экономически нецелесообразно. (Имеется ввиду семейство AVR)
Я давно перешел с меги328 на ATMEGA128A и не могу нарадоваться намного бОльшей оперативе и EEPROM.
А сейчас я вообще думаю уйти на STM32. Вот заказал себе по пару штук плат:
Trembo, И на мультиплекированных шинах адрес-данные, частоту надо тоже делить на 2.5 примерно. А для систем управления железом, куда важнее параметры, связанные с техникой обработки прерываний и сохранений контекста ЦПУ.
При сравнении 8-ми битовых и 32-ух битовых процессоров параметры RAM и FLASH у тридцатьвторых надо делить на 4. ( или немного меньше)
С чего бы вдруг? У 32-разрядных бит в обхвате толще? Размер переменных, что там, что там одинаков.
Arhat109-2 пишет:
на мультиплекированных шинах адрес-данные, частоту надо тоже делить на 2.5 примерно. А для систем управления железом, куда важнее параметры, связанные с техникой обработки прерываний и сохранений контекста ЦПУ.
Это вы о чем вообще? У армов четыре шины для разных нужд.
При сравнении 8-ми битовых и 32-ух битовых процессоров
параметры RAM и FLASH у тридцатьвторых надо делить на 4. ( или немного меньше)
Поэтому правая колонка:
FLASH проигрыш в 2 раза
RAM выигрыш в 2.5 раза
Кто не верит - попробуйте скомпилить блинк в Енергии
бред, в 32 разрядном код будет немного больше и то не всегда.
а компиляция блинка вообще не показатель, попробуйте его покомпилить для 8 битных тинек, атмега8, атмега328, атмега2560 и наконец для атмега32у4 ака леонардо, все процессоры 8-ми битные
Это о том, что когда проводки адреса и данных разные (обычная шина), то тактирование передачи происходит 1 такт = 1 пердача, ибо и адрес и данные выставляются И действительны на шине одновременно.
А при мультиплексировании по одним и тем же проводкам идут адрес И данные "по очереди": 1 такт адрес, следом (2-й такт!) данные, а поскольку надо ещё и "паузу" промеж них выдержать, то все 3 такта. Часто при мультиплексировании паузу делают в "полтакта".
У 8-и битников шина как правило обычная (8+16+2 = 26 проводов), а у 32-х битников - мультиплексированная (32 + 3 = 35 проводов). Ибо ежели делать обычную, то потребуется 66 проводов, что на площади кристалла сожрет много места.
Соответственно, или повышают внутреннюю частоту кристалла в 2-3 раза или исполнение цикла команды идет несколько тактов частоты CLK.
И хоть 25 шин, каждая из них будет работать так, а не иначе. Отдельные шины на периферию, DMA и т.д. разгружают основной канал и позволяют в ряде(!) приложений добиться повышения производительности, но и только. Разделение памяти (гарвард) позволяет читать/писать команды/данные "как-бы" независимо друг от друга и организовать конвеер команд и/или данных .. но общая полезность этого сильно зависит от архитектуры ПО и задач.
В задачах управления периферией, которая "тормозная" относительно ЦПУ и часто требует побитного обращения (сужения управления а не его расширения до 32-х бит!), куда как полезнее совсем иная архитектура. В частности, тестирование Д3-28 (4-х битная архитектура обычная) против Электроники-60 (16-и битная мультиплексированная архитектура) в году так 1986 показывало превосходство первой над второй в задачах управления. Несмотря на то, что тактирование первой было 10Мгц, а второй 24.
Аналогичный тест команд "высокого уровня" (вычисление упреждения: тригонометрические и гиперболические синусы, косинусы), имеющиеся в блоке ППЗУ-БМУ Д3-28 как-бы встроенными командами над 2/10-ыми тетрадными вещественными числами с плавающей запятой в 12 разрядов (12 тетрад на мантиссу) выполнялись со скоростью 1.5 тыс операций в сек. .. против 350 у Электроники-60 с вещественной библиотекой на С.
Это к вопросу бесполезности RISC архитектур по сравнению с CISC. В 1986г. делал полугодовое исследование по оптимизации систем команд с разбором многих типов архитектур и поиском "оптимального набора".. никому не нужно оказалось, ибо "копроэкономика дерьма побеждает всё".
Кроме этого, Trembo прав отчасти. В 32-х битной архитектуре требуется выравнивание данных на границу 4-х байт. Хотите иметь скорость? Извольте каждый байтик управления хранить в отдельном слове из 4-х байт. Упаковка приведет к .. потере скорости на распаковку. И она НЕ ВСЕГДА возможна. Поэтому оперативы уходит больше. На сколько? Сильно зависит от "умности" компилятора и исходного кода. Или надо ручками следить как организованы структуры (в их начало помещать данные 32-бита, 16-бит парами и 8-битные четверками, организуя ручное выравнивание).
С системой команд не совсем так, но тоже примерно теже грабли. У STM32 как понимаю, команды в оснвном такие же словные (16бит), что часто позволяет считывать 2 команды за один цикл .. тут только засада в длинных константах в командах: итого получается .. 6 байт, что будет требовать выравнивания со всеми последствиями на размер кода.
Это ни в коем случае не говорит о том что 8-бит всегда лучше 32-х.. каждому овощю - свое применение со своей "кулинарией" и "кухней". :)
Кроме этого, Trembo прав отчасти. В 32-х битной архитектуре требуется выравнивание данных на границу 4-х байт.
Не прав не только trembo, но и все, кто считает похожим образом. В арм-архитектуре действительно существует выравнивание данных, но зависит оно не от 32-битности, а от размера переменных. Однобайтовые переменные (char) не выравниваются и могут располагаться по любым адресам. Двухбайтовые (short) выравниваются по адресу кратному двойке. Четырехбайтовые (int, long, pointer) по кратному четверке и т.д.
Размер занимаемый переменными в ОЗУ зависит от порядка объявления переменных и/или "сообразительности" компилятора. Легко можно представить ситуацию, когда одинаковый набор переменных может занимать разный объем. Это можно проиллюстрировать на следующим прмере:
char a;
int b;
char c;
int d;
Здесь переменные займут в ОЗУ 8 байт, а не 6, как можно было бы предположить, если посчитать объем по длинам переменных. Из за выравнивания возникают однобайтные "дырки" после "а" и "с". Дырки легко устранить, если поменять порядок объявления:
int b, d;
char a, c;
В этом случае переменные станут занимать те самые расчетные 6 байт и никакого "перерасхода" ОЗУ не случится.
Ко всему вышенаписанному, у армов есть инстукции, которые умеют работать с невыравненными данными без потери производительности. Программируя на Си их врят ли удастся использовать, но любителям ассемблера они предоставят все возможности.
По поводу размера кода: в общем случае, при кодировании одного и того же алгоритма, размер кода для арма будет несколько больше, чем, скажем, для avr, но речь не идет о кратности "в разы". Рассматривая крайние случаи, можно легко представить ситуацию, когда какие-то конкретные алгоритмы будут компактнее на той или другой архитектуре. Здесь общее правило не работает и все зависит от конкретных деталей.
По поводу скорости: ни про какое мультиплексирование я ничего не знаю, но, если говорить в общем, то армы быстрее, если пересчитывать производительность на тактовую частоту. При разработке приложений это часто заметно даже субъективно. Не возмусь утверждать однозначно, но запросто может оказаться, что один и тот же алгоритм будет быстрее работать на арме с частотой 8мгц, чем на авр с частотой 16мгц.
Тупое сравнение "в лоб" между армами и авр занятие довольно бессмысленное и мне не совсем понятно, зачем это вообще затевалось. В терминах производительности не только арм рвет в куски атмегу, но и тот же stm8, работающий с ней на одной частоте.
В свете вышенаписанного, можно ли говорить о том, что авр является устревшей и осталой архитектурой, не имеющей значительных перспектив? А вот это уже вряд ли. Можно навскидку найти кучу применений, где авр будет смотреться выигрышней при неоспоримо проигрыше в чистой производительности.
Как человек в достатке поучаствоваший в различных холиварах со сравнением архитектур, имею пример, что называется, на кончиках пальцев, которых хорошо показывает, что не производительностью единой. Предположим, что нужно сделать классику жанра -- часы с термометром, барометром, измерением влажности, управлением по ИК и синхронизацией времени через интернет. Зависит, конечно, от квалификации разработчика, но для ардуины работающий прототип на макетке можно получить за пару-тройку вечеров. Я могу немного ошибаться, но по моим оценкам, на то, чтобы то же самое повторить на stm8 потребуется где-то с год и нельзя быть уверенным, что результат в этом случае будет гарантированным. Хороший камень stm8, если его абстрактно сравнивать с атмегой, но незадача в том, что для него нет практически никаких библиотек и захоти сделать на нем что-то объемное, нужно приготовиться к мысли, что придется всю работу с железом писать самому.
Прикладные программисты иногда не до конца представляют себе, что это означает. Они, бывает, ссылаются на свой стаж, опыт и т.п., но не учитывают специфику предметной области. А ее не мало и порой она столь неожиданна, что никогда бы не подумал заранее, если бы не столкнулся. Простой пример: stm8 имеет набортный интерфейс I2C, который может быть использован для работы с теми же микросхемами аппаратных часов. Протокол известный, описан в подробностях, но заковыка в том, что режим I2C Master у stm8 (да и stm32) практически не работоспособен в том виде, как к этому привыкли, скажем на AVR. То есть, при попытке перенести работающий код с авр на стм, с поправкой на особенности аппаратуры, разработчик сталкивается с ситуацией, когда в законченном виде "ничего не работает". Хорошо, смотрим errata на чип, выясняем, что там накосячил производитель, меняем код, обходя грабли, но это не дает ничего. Пробуем и так и так, дергаемся, перебираем бесчисленное количество вариантов, но и это не приводит к успеху. Шерстим интернет, читаем форумы, хватаемся за разные мысли, высказанные участниками обсуждений. Опять безрезультатно. Железный интерфейс не работает так, как описано в стандарте и разжевано производителем. До недавних пор I2C master был известной проблемой и заканчивалось обычно все написанием софтовой реализации. Потом кто-то выложил работающий код аппаратного мастера. Выяснилось, что для правильной работы нужно выполнить череду действий в строгой последовательности, которая нигде не описана, совершенно не очевидна и полностью уникальна. Как уж они раскопали я не знаю, но есть подозрение, что полностью случайно. И это не какие-то там полеты в космос, а банальный протокол, которому тыща лет в обед.
Фиг с ним, I2C преодолелили. Дальше пора браться за SPI. Тут мы со всего размаху налетаем на проблему с аппаратным NSS (речь правда про stm32). Ситуация такая же, как и в случае с I2C Master. Как описано не работает, а что нужно сделать, чтобы работало, никто не знает. Фиг с ним, обходим софтовой реализацией и выходим на работу с ENC28j60 -- сетевым интерфейсом, который известен тем, что errata у него едва ли не толще, чем описание. Постепенно приходит понимание, что все предыдущие мучения это просто легкая прогулка в тенистом парке, по сравнению с тем, с чем придется столкнутся. Но и это еще не все. Далее начинает отчетливо маячить стек протоколов TCP/IP и семиуровневая модель ISO/OSI, раз уж мы собрались что-то там получать/отсылать через интернет. И это уже полный и грандиознейший абзац.
Всё это тут, в этой теме оффтоп, но тем не менее - спасибо. По сути, вы не только подтвердили то, что написали мы с трембо, но и дополнили существенной частью, которая зовется "сырое и унылое г..но", уж извините, но ничего другого из вашего описания не следует. :)
То, что вы на 4-х переменных (всего!) и не самой прикольной разрядности уже 2 байта на 6 полезных = 30% уже говорит о многом. А народ любит лепить куда надо и не надо смесь 8+32, смотрите те же delay(), millis() - результат 32 бита, а сложном скетче, управляющем десятком железок и принимающий с десятка датчиков ... все выльется в те самые разы. Проверено неоднократно на других железках.
Ну и с мультиплексированием надо просто посмотреть временные диаграммы циклов чтения/записи, чтобы всё встало на свои места. Команды работы с невыровненными данными - это конечно хорошо, но их цена (не знаю как в СТМ) как правило два цикла к памяти вместо одного. То есть ещё в два раза делим тактовую частоту.
Впрочем, нет никаого желания заводить холивар, тем более не в тему. Каждому овощу - свою кухню. А по поводу еррат, как только эта часть описаний будет отсутствовать .. так сразу можно будет и посмотреть. Спасибо что отписались (теперь точно глазеть не стану). :)
Ну и чтобы уж закончить оффтоп: из моих тогдашних изысканий следовало, что для микроконтроллеров управления чем-либо, при 4-х битной регистровой архитектуре (16 РОН) крайне полезна .. 12-битная система команд и коротких адресов (попадание переходов >80%). 32-х битная архитектура сильно избыточна для микроконтроллеров.
P.S. Ну и с точки зрения набора команд. Посмотрите описание команд Интел 8089. Это микроконтроллерная реализация опыта эксплуатации монопольных каналов IBM-360. Очень занятно. :)
P.P.S Просто, ради любопытсва. На AVR при 16Мгц тактовой получаем блинк со скоростью до 5.33Мгц, то есть 3 команды на цикл. С какой предельной скоростью можно реализовать блинк на СТМ32? Просто любопытно.
Соотношение примерно то же. Сами STMы утверждают, что максимальная частота программного ногодрыга равняется F_CPU/2. Это если бежать по коду состоящему из чередующихся bitset/bitreset. Переход на начало при зацикливании, разумеется, будет давать задержку. Народ проверял, получалось что-то похожее. Вот картинка для 168мгц STM32F4
Arhat109-2 пишет:
По сути, вы не только подтвердили то, что написали мы с трембо,
Не подтвердил, а опроверг. :) Если следовать простому правилу и размещать сначала самые "длинные" типы данных, потом поменьше, а в конце однобайтные, то никакой потери памяти из-за выравнивания не возникает.
Вообще объем ОЗУ и флеша таков, что подойдя к исчерпанию того или другого, даже начинающий перестает быть совсем уж начинающим и будет вынужден следовать правилам хорошего тона в программировании, иначе он функционирующую программу такого объема просто не напишет.
Не спортивный ногодрыг. Зацыкливать после одного bitset/bitreset надо! Влияние перехода очень даже интересно. К холивару 8&32 мои пять копеек (увы, не оригинальных) - сильно влияет размер обрабатываемых данных. На 8-битном проце, простое A++; для byte, int и long сильно различаются. На 32-битном почти одинаково. Потому, если при обработке 8-битных (и задачи на управление до кучи) размер кода и производительность соизмеримы (на равных МГц), то при переходе на 32-битные данные различие будет сильным. Вывод банален - каждому овощу свое племя.
По RAM - 8&32 в общем пофиг. Нехватает её как правило при работе с большими буферами, т.е. массивами, а у них выравнивание не играет роли - выравнивается весь массив один раз.
ЗЫ. Спасибо a5021 за ликбез, не знал что stm такой сырой.
Я бы не сказал, что так уж сырой. У avr тоже есть места, где без бубна никак. Только они уже хожены-перехожены, т.ч. везде, где нужно, уже все постелено и причесано. Атмега старше и у нее такая орава пользователей-бетатестеров, что большую часть подводных грабель уже выудили, изучили и придумали способы борьбы с ними по нескольку раз. Также следует понимать, что армы сильно навороченнее, а значит сложнее и мест, где могут возникнуть грабли тоже больше. Это закономерно и не стоит здесь излишне драматизировать.
Персоналка уделает мэйнфрейм по некоторым параметрам. Однако все понимают, что эти системы для разных задач предназначены и сравнивать их по тактовой частоте, например, бессмысленно. Это я про ногодрыг в стм.
Холиварьте дальше.
Я не очень понимаю, о каком холиваре речь, т. к. в здешнем обсуждении не обнаруживается такой уж острой поляризации мнений и все более-менее сходятся в мысли, что каждому сверчку свой шесток.
Ногодрыг для МК довольно распространенная вещь и стм-ы здесь не исключение. Любая софтовая реализация железных протоколов -- это ногодрыг в чистом виде. Очевидно, что производители идут навстречу подобным техникам, расширяя набор средств для управления линиями портов ввода-вывода, дополняя их регистрами для атомарных операций на побитовом уровне. Если ногодрыг -- это плохо, зачем в STM32 появился регистр GPIOx_BSRR, аналог которого на атмеге, например, отсутствует ?
xDriver пишет:
Всю тему засрали своим STM !
Поэтому вы тоже решили блевануть сюда? К вашему сведению, ардуина это не только атмега, но и MSP340,
STM32
и даже Интел:
Если вас не заботит расширение собственного кругозора, то не стоит мешать в этом остальным.
strannik, 22 бакса это дороговато. Надеюсь китайцы выпустят более дешевые клоны без набортного ST-LINK-а
На Arduino Zero и Due тоже уровни 3,3V, эта проблема решается выбором совместимых 3,3V шилдов.
ЕвгенийП пишет:
Это сильный перебор!
Ардуино открытая платформа, а Edison проприетарная система. Разница принципиальная.
Не перебор. Недавно выпустили новую плату Genuino 101, так что архитектура х86 потихоньку приходит и в сегмент микроконтроллеров.
Продаваться будет в первом квартале 2016 года по рекомендованной розничной цене $30. С такой ценой это убийца нуклео
Не нужно забывать программы, утилиты, отладчики, которых для х86 понаписали достаточно в свое время. Эта плата позволяет стряхнуть с них пыль. Да и DOS лежит в открытом доступе. А ведь это полноценная RTOS. Для которой есть тонны русскоязычной литературы и примеров кода.
DOS уже с самого начала содержит отладчик. А отлаживать код можно также на своем рабочем х86 компе даже без виртуальных машин и симуляторов.
Это сильный перебор! Ардуино открытая платформа, а Edison проприетарная система. Разница принципиальная.
В чем перебор? Мне глубоко и трагически наплевать на то, кому принадлежат авторские права и прочие атрибуты проприетарности. Я покупаю девайс, запускаю Arduino IDE и управляюсь со всеми доступными на плате пинами, ставшими уже стандартом, как на самой обычной ардуине. И где тут "принципиальная разница"?
Злые вы... Последний кусок хлеба у бедного многодетного китайца отнимаете... Он изо всех сил старается, собирает/паяет что-то у себя в подвале (в котором видимо и живет со своей семьей), работает за еду, а вы такие неблагодарные и бессердечные.
Аха, на самом деле это называлось "магнитная москитная сетка", приехало штук пять липучек, мешочек с гвоздями, но без занавесок. Я им даже предлагал вернуть, за их счет))). Не согласились(((. Али бабосы возвернул))).
У меня сегодня, кстати, тоже диспут разрешился. LCD экранчик на ILI9341 так и не приехал, более 60-ти дней прошло. Хитрый китаец мне пишет: мол, я сейчас на почту метнусь и разберусь с ними, как что-то станет известно - сообщу. А ты пока диспут закрой и пять звезд мне поставь :)) И ещё подожди...
Как только диспут обострил - согласился на full refund.
А я вот не помню, но вроде было, что если закроешь, то потом уже не откроешь этот диспут.
А я вот не помню, но вроде было, что если закроешь, то потом уже не откроешь этот диспут.
Да, так и есть. Поэтому я его не закрыл по просьбе продавца, а обострил. После чего он сам его принял/закрыл и согласился на полный возврат. Сказал что сожалеет за причиненные неудобства и ждёт от меня пять звёзд. Ну я поставлю, мне не жалко :)
У меня за всю историю покупок бывали иногда шороховатости с продавцами, но так как удавалось всегда разрулить, то кроме пяти звезд у меня никогда других оценок небыло. Мне все равно, а им приятно.
А я вот не помню, но вроде было, что если закроешь, то потом уже не откроешь этот диспут.
Да, так и есть. Поэтому я его не закрыл по просьбе продавца, а обострил. После чего он сам его принял/закрыл и согласился на полный возврат. Сказал что сожалеет за причиненные неудобства и ждёт от меня пять звёзд. Ну я поставлю, мне не жалко :)
Ничего подобного, диспут на али можно открывать и закрывать многократно, мне правда более 3х раз не приходилось этого делать.
Заканчивалось время защиты, за 2-3 дня просил продлить, если продавец молчал в ответ, за день до окончания защиты открывал спор, у него 4 дня на ответ. Как правило они реагируют сразу и продляют время защиты с просьбой отменить диспут. Я, увидев, что время защиты продлено, закрывал диспут и ждал еще и т.д.
Но тут самое главное не прозевать время окончания защиты, если оно истекло, то все, больше вы от него ничего не получите и вестись на любые уговоры и доводы их не стоит. Я несколько раз терял деньги, по первости, более 5 лет назад, теперь ученый... :)
Я так понял, самое интересное на Али, это - что то купить и потом открыть диспут :) , потом перевести в клайм.
Самое интересное на Али и Ебее то, что там все в 2-3 раза дешевле чем у нас, это еще учитывая бесплатную доставку. С нашей почтой даже сравнивать язык не поворачивается. Причем себестоимость товаров видимо настолько мизерная, что они могут себе позволить продавать все по таким ценам, да еще и включая в эту стомость, стоимость доставки. И при всем этом экономика Китая шагает вперед семимильными шагами. Возникает вопрос, от куда у нас такие цены на наши товары, какова их себестоимость, кто набивает карманы в таких огромных колличествах??? Чегото меня в политику понесло... :)
Самое интересное на Али и Ебее то, что там все в 2-3 раза дешевле чем у нас, это еще учитывая бесплатную доставку. С нашей почтой даже сравнивать язык не поворачивается. Причем себестоимость товаров видимо настолько мизерная, что они могут себе позволить продавать все по таким ценам, да еще и включая в эту стомость, стоимость доставки. И при всем этом экономика Китая шагает вперед семимильными шагами. Возникает вопрос, от куда у нас такие цены на наши товары, какова их себестоимость, кто набивает карманы в таких огромных колличествах??? Чегото меня в политику понесло... :)
На вопрос "хто", ответил сам в последней фразе))). Пошлина+НДС+усе налоги для белой зарплаты+содержание помещения и опять налоги на него, продаван то я думаю в итоге, дай бог процентов 30 получает.
.... они могут себе позволить продавать все по таким ценам, да еще и включая в эту стомость, стоимость доставки. И при всем этом экономика Китая шагает вперед семимильными шагами. Возникает вопрос, от куда у нас такие цены на наши товары.....
Я бы еще добавил и на не наши. Все это большая загадка.
А китай нам уже не догнать, к сожалению...
Бесплатная доставка у них субсидируется китайским правительством для того чтобы каждый китаец мог заработаеть себе на хлеб, а заодно обеспечивал рост экономики.
Может хватит оффтопить?
Самое интересное на Али и Ебее то, что там все в 2-3 раза дешевле чем у нас
Дешевле я на ali не нашёл. Буду очень благодарен, если покажете (реально нужно).
Надо по цене сортировать результаты поиска. Вот нашел по US $ 1.13 / шт.
Самое интересное на Али и Ебее то, что там все в 2-3 раза дешевле чем у нас
Дешевле я на ali не нашёл. Буду очень благодарен, если покажете (реально нужно).
и эти странности все чаще , те же штекера " бананы" у нас реально дешевле. Последнее время все чаще начал смотреть сначало наличие и цену в местных магазинах)
Надо по цене сортировать результаты поиска. Вот нашел по US $ 1.13 / шт.
Подскажите что ещё на Али рискованно закупать, кроме аккумуляторов? Закупаюсь с апреля, первый раз так попал. Вот надо ещё дозаказать транзюков в smd и резисторов с кондюками (с плат что-то сдувается, но на них маркировка как правило отсуствует). Есть вероятность что могут прислать "не тот номинал или марку"? Нашел комплектами 170шт smd МОП .. кто как заказывает и потом тестирует что реально пришло?
Есть вероятность что могут прислать "не тот номинал или марку"? Нашел комплектами 170шт smd МОП .. кто как заказывает и потом тестирует что реально пришло?
Есть вероятность что могут прислать "не тот номинал или марку"?
Что угодно может быть. Чтобы совсем уж "от балды" -- это врят ли, но разные "замены на эквивалент" случаются. Из последнего, заказывал LDO xc6206p332 -- это линейный стабилизатор на 3.3вольта 250ма. Приехали, запаял, ничего не работает. Поменял несколько штук, та же фигня. Китайцы конечно мастера фейков и красивых подделок, но чтобы геморроиться и подделывать ленты с копеешными и не самыми ходовыми чипами, как-то не очень на них похоже. Начал чесать репу. Додумался поискать по маркировке, предположив, что китайцы хитрят и шлют еще более дешевый аналог. Так и вышло. В конечном итоге это оказались LM6206, которые имеют ту же маркировку, схожие параметры, но другое расположение ног. Все бы ничего, но плата была уже разведена и вытравлена, однако взвесив, что будет проще и быстрее, то ли устраивать бучу, то ли переделать плату, сделал выбор в пользу последнего. Переразвел, вытравил, запаял и все заработало, как положено.
Быть действительно может чего угодно. Мне вот на днях вместо ip камер на 720p пришли камеры на 1080p, с одной стороны они стоят минимум в 1.5 раза дороже, а с другой видеорегистратор под них я взял 16 каналов 720p, 1080p поддерживает, но только в режиме на 8 каналов, а камер 10.
Вчера получил GSM модуль, сегодня запаял все, проверил, работает отлично. Сегодня купил еще один, за такую цену...
Цена какая-то подозрительно низкая, но судя по отзывам полностью рабочий!
Хотелось бы только узнать, чем он отличается от этого модуля? Имею в виду по функциональным возможностям! Есть какие-то существенные отличия?
Пасибки за консультации. Мне поставщик вернул бабки с извинениями, все устаканилось, несмотря на то что оффер закрыл сразу как получил посылку. Проверял уккумуляторы парой дней позже.
Сами модули neoway m590, говорят б.у.
Короче выдергивают их откуда то, но вроде народ говорит рабочие.
Сам заказал недавно, за такие то деньги можно...
Вчера получил GSM модуль, сегодня запаял все, проверил, работает отлично. Сегодня купил еще один, за такую цену...
Цена какая-то подозрительно низкая, но судя по отзывам полностью рабочий!
Хотелось бы только узнать, чем он отличается от этого модуля? Имею в виду по функциональным возможностям! Есть какие-то существенные отличия?
народ жалуется, что от первого добиться gprs почти нереально.
Обратил внимание, на али мега328 стоит дороже, чем мега128, хотя последняя является старшей моделью. Для м328 цены начинаются с 390 рублей за пяток, а для м128 с 330.
Обратил внимание, на али мега328 стоит дороже, чем мега128, хотя последняя является старшей моделью. Для м328 цены начинаются с 390 рублей за пяток, а для м128 с 330.
А я давно писал:
Советую обратить внимание только на эти два камня: ATMEGA8A $0.43 / шт , ATMEGA128A $0.70 / шт. Какие либо другие контроллеры покупать экономически нецелесообразно. (Имеется ввиду семейство AVR)
Я давно перешел с меги328 на ATMEGA128A и не могу нарадоваться намного бОльшей оперативе и EEPROM.
А сейчас я вообще думаю уйти на STM32. Вот заказал себе по пару штук плат:
$2.12 / шт. Stm32 STM32F030F4P6 - отличная замена Pro Mini! Это же чудо стоит по 55 центов за контроллер
$2.99 / шт Stm32f103c8t6 ARM STM32 Forarduino - Замена ATMEGA128
Это самые дешевые платы с STM32. Дешевле не бывает.
Китайский ST-Link можно купить за $2.65 на Aliexpress, например.
Сравнение платы за $2.99 с ардуино Uno и Pro Mini:
ATMEGA328
STM32F103C8T6
Выигрыш, раз
Flash, кБ
32
64
2
ОЗУ, кБ
2
20
10
Максимальная частота, МГц
20
72
3.6
Скорость АЦП, kSPS
15
2*1000 (можно разогнать)
133
Наконец то до STM дошло как должна выглядеть правильная отладочная плата: http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF262496
Вот только цена что то не радует. Подожем китайских клонов
Сегодня купил транзисторов, чтобы было, надоело искать и сдувать с матерей, потом еще по мощнее возьму таких же пар комплектом.
Тыкнул на ссыль и оху...!
На доставку гляньте.
Моё мнение такое:
При сравнении 8-ми битовых и 32-ух битовых процессоров
параметры RAM и FLASH у тридцатьвторых надо делить на 4. ( или немного меньше)
Поэтому правая колонка:
FLASH проигрыш в 2 раза
RAM выигрыш в 2.5 раза
Кто не верит - попробуйте скомпилить блинк в Енергии
Trembo, И на мультиплекированных шинах адрес-данные, частоту надо тоже делить на 2.5 примерно. А для систем управления железом, куда важнее параметры, связанные с техникой обработки прерываний и сохранений контекста ЦПУ.
При сравнении 8-ми битовых и 32-ух битовых процессоров параметры RAM и FLASH у тридцатьвторых надо делить на 4. ( или немного меньше)
С чего бы вдруг? У 32-разрядных бит в обхвате толще? Размер переменных, что там, что там одинаков.
на мультиплекированных шинах адрес-данные, частоту надо тоже делить на 2.5 примерно. А для систем управления железом, куда важнее параметры, связанные с техникой обработки прерываний и сохранений контекста ЦПУ.
Это вы о чем вообще? У армов четыре шины для разных нужд.
Моё мнение такое:
При сравнении 8-ми битовых и 32-ух битовых процессоров
параметры RAM и FLASH у тридцатьвторых надо делить на 4. ( или немного меньше)
Поэтому правая колонка:
FLASH проигрыш в 2 раза
RAM выигрыш в 2.5 раза
Кто не верит - попробуйте скомпилить блинк в Енергии
бред, в 32 разрядном код будет немного больше и то не всегда.
а компиляция блинка вообще не показатель, попробуйте его покомпилить для 8 битных тинек, атмега8, атмега328, атмега2560 и наконец для атмега32у4 ака леонардо, все процессоры 8-ми битные
С чего бы вдруг? У 32-разрядных бит в обхвате толще? Размер переменных, что там, что там одинаков.
Я думаю у них байты ( те что по 8 бит) пачками по четыре ходят, а то с чего-бы их назвали 32 разрядными
Да и все комманды вряд-ли однобайтовые ;)
Это о том, что когда проводки адреса и данных разные (обычная шина), то тактирование передачи происходит 1 такт = 1 пердача, ибо и адрес и данные выставляются И действительны на шине одновременно.
А при мультиплексировании по одним и тем же проводкам идут адрес И данные "по очереди": 1 такт адрес, следом (2-й такт!) данные, а поскольку надо ещё и "паузу" промеж них выдержать, то все 3 такта. Часто при мультиплексировании паузу делают в "полтакта".
У 8-и битников шина как правило обычная (8+16+2 = 26 проводов), а у 32-х битников - мультиплексированная (32 + 3 = 35 проводов). Ибо ежели делать обычную, то потребуется 66 проводов, что на площади кристалла сожрет много места.
Соответственно, или повышают внутреннюю частоту кристалла в 2-3 раза или исполнение цикла команды идет несколько тактов частоты CLK.
И хоть 25 шин, каждая из них будет работать так, а не иначе. Отдельные шины на периферию, DMA и т.д. разгружают основной канал и позволяют в ряде(!) приложений добиться повышения производительности, но и только. Разделение памяти (гарвард) позволяет читать/писать команды/данные "как-бы" независимо друг от друга и организовать конвеер команд и/или данных .. но общая полезность этого сильно зависит от архитектуры ПО и задач.
В задачах управления периферией, которая "тормозная" относительно ЦПУ и часто требует побитного обращения (сужения управления а не его расширения до 32-х бит!), куда как полезнее совсем иная архитектура. В частности, тестирование Д3-28 (4-х битная архитектура обычная) против Электроники-60 (16-и битная мультиплексированная архитектура) в году так 1986 показывало превосходство первой над второй в задачах управления. Несмотря на то, что тактирование первой было 10Мгц, а второй 24.
Аналогичный тест команд "высокого уровня" (вычисление упреждения: тригонометрические и гиперболические синусы, косинусы), имеющиеся в блоке ППЗУ-БМУ Д3-28 как-бы встроенными командами над 2/10-ыми тетрадными вещественными числами с плавающей запятой в 12 разрядов (12 тетрад на мантиссу) выполнялись со скоростью 1.5 тыс операций в сек. .. против 350 у Электроники-60 с вещественной библиотекой на С.
Это к вопросу бесполезности RISC архитектур по сравнению с CISC. В 1986г. делал полугодовое исследование по оптимизации систем команд с разбором многих типов архитектур и поиском "оптимального набора".. никому не нужно оказалось, ибо "копроэкономика дерьма побеждает всё".
Кроме этого, Trembo прав отчасти. В 32-х битной архитектуре требуется выравнивание данных на границу 4-х байт. Хотите иметь скорость? Извольте каждый байтик управления хранить в отдельном слове из 4-х байт. Упаковка приведет к .. потере скорости на распаковку. И она НЕ ВСЕГДА возможна. Поэтому оперативы уходит больше. На сколько? Сильно зависит от "умности" компилятора и исходного кода. Или надо ручками следить как организованы структуры (в их начало помещать данные 32-бита, 16-бит парами и 8-битные четверками, организуя ручное выравнивание).
С системой команд не совсем так, но тоже примерно теже грабли. У STM32 как понимаю, команды в оснвном такие же словные (16бит), что часто позволяет считывать 2 команды за один цикл .. тут только засада в длинных константах в командах: итого получается .. 6 байт, что будет требовать выравнивания со всеми последствиями на размер кода.
Это ни в коем случае не говорит о том что 8-бит всегда лучше 32-х.. каждому овощю - свое применение со своей "кулинарией" и "кухней". :)
Не прав не только trembo, но и все, кто считает похожим образом. В арм-архитектуре действительно существует выравнивание данных, но зависит оно не от 32-битности, а от размера переменных. Однобайтовые переменные (char) не выравниваются и могут располагаться по любым адресам. Двухбайтовые (short) выравниваются по адресу кратному двойке. Четырехбайтовые (int, long, pointer) по кратному четверке и т.д.
Размер занимаемый переменными в ОЗУ зависит от порядка объявления переменных и/или "сообразительности" компилятора. Легко можно представить ситуацию, когда одинаковый набор переменных может занимать разный объем. Это можно проиллюстрировать на следующим прмере:
Здесь переменные займут в ОЗУ 8 байт, а не 6, как можно было бы предположить, если посчитать объем по длинам переменных. Из за выравнивания возникают однобайтные "дырки" после "а" и "с". Дырки легко устранить, если поменять порядок объявления:
В этом случае переменные станут занимать те самые расчетные 6 байт и никакого "перерасхода" ОЗУ не случится.
Ко всему вышенаписанному, у армов есть инстукции, которые умеют работать с невыравненными данными без потери производительности. Программируя на Си их врят ли удастся использовать, но любителям ассемблера они предоставят все возможности.
По поводу размера кода: в общем случае, при кодировании одного и того же алгоритма, размер кода для арма будет несколько больше, чем, скажем, для avr, но речь не идет о кратности "в разы". Рассматривая крайние случаи, можно легко представить ситуацию, когда какие-то конкретные алгоритмы будут компактнее на той или другой архитектуре. Здесь общее правило не работает и все зависит от конкретных деталей.
По поводу скорости: ни про какое мультиплексирование я ничего не знаю, но, если говорить в общем, то армы быстрее, если пересчитывать производительность на тактовую частоту. При разработке приложений это часто заметно даже субъективно. Не возмусь утверждать однозначно, но запросто может оказаться, что один и тот же алгоритм будет быстрее работать на арме с частотой 8мгц, чем на авр с частотой 16мгц.
Тупое сравнение "в лоб" между армами и авр занятие довольно бессмысленное и мне не совсем понятно, зачем это вообще затевалось. В терминах производительности не только арм рвет в куски атмегу, но и тот же stm8, работающий с ней на одной частоте.
В свете вышенаписанного, можно ли говорить о том, что авр является устревшей и осталой архитектурой, не имеющей значительных перспектив? А вот это уже вряд ли. Можно навскидку найти кучу применений, где авр будет смотреться выигрышней при неоспоримо проигрыше в чистой производительности.
Как человек в достатке поучаствоваший в различных холиварах со сравнением архитектур, имею пример, что называется, на кончиках пальцев, которых хорошо показывает, что не производительностью единой. Предположим, что нужно сделать классику жанра -- часы с термометром, барометром, измерением влажности, управлением по ИК и синхронизацией времени через интернет. Зависит, конечно, от квалификации разработчика, но для ардуины работающий прототип на макетке можно получить за пару-тройку вечеров. Я могу немного ошибаться, но по моим оценкам, на то, чтобы то же самое повторить на stm8 потребуется где-то с год и нельзя быть уверенным, что результат в этом случае будет гарантированным. Хороший камень stm8, если его абстрактно сравнивать с атмегой, но незадача в том, что для него нет практически никаких библиотек и захоти сделать на нем что-то объемное, нужно приготовиться к мысли, что придется всю работу с железом писать самому.
Прикладные программисты иногда не до конца представляют себе, что это означает. Они, бывает, ссылаются на свой стаж, опыт и т.п., но не учитывают специфику предметной области. А ее не мало и порой она столь неожиданна, что никогда бы не подумал заранее, если бы не столкнулся. Простой пример: stm8 имеет набортный интерфейс I2C, который может быть использован для работы с теми же микросхемами аппаратных часов. Протокол известный, описан в подробностях, но заковыка в том, что режим I2C Master у stm8 (да и stm32) практически не работоспособен в том виде, как к этому привыкли, скажем на AVR. То есть, при попытке перенести работающий код с авр на стм, с поправкой на особенности аппаратуры, разработчик сталкивается с ситуацией, когда в законченном виде "ничего не работает". Хорошо, смотрим errata на чип, выясняем, что там накосячил производитель, меняем код, обходя грабли, но это не дает ничего. Пробуем и так и так, дергаемся, перебираем бесчисленное количество вариантов, но и это не приводит к успеху. Шерстим интернет, читаем форумы, хватаемся за разные мысли, высказанные участниками обсуждений. Опять безрезультатно. Железный интерфейс не работает так, как описано в стандарте и разжевано производителем. До недавних пор I2C master был известной проблемой и заканчивалось обычно все написанием софтовой реализации. Потом кто-то выложил работающий код аппаратного мастера. Выяснилось, что для правильной работы нужно выполнить череду действий в строгой последовательности, которая нигде не описана, совершенно не очевидна и полностью уникальна. Как уж они раскопали я не знаю, но есть подозрение, что полностью случайно. И это не какие-то там полеты в космос, а банальный протокол, которому тыща лет в обед.
Фиг с ним, I2C преодолелили. Дальше пора браться за SPI. Тут мы со всего размаху налетаем на проблему с аппаратным NSS (речь правда про stm32). Ситуация такая же, как и в случае с I2C Master. Как описано не работает, а что нужно сделать, чтобы работало, никто не знает. Фиг с ним, обходим софтовой реализацией и выходим на работу с ENC28j60 -- сетевым интерфейсом, который известен тем, что errata у него едва ли не толще, чем описание. Постепенно приходит понимание, что все предыдущие мучения это просто легкая прогулка в тенистом парке, по сравнению с тем, с чем придется столкнутся. Но и это еще не все. Далее начинает отчетливо маячить стек протоколов TCP/IP и семиуровневая модель ISO/OSI, раз уж мы собрались что-то там получать/отсылать через интернет. И это уже полный и грандиознейший абзац.
Всё это тут, в этой теме оффтоп, но тем не менее - спасибо. По сути, вы не только подтвердили то, что написали мы с трембо, но и дополнили существенной частью, которая зовется "сырое и унылое г..но", уж извините, но ничего другого из вашего описания не следует. :)
То, что вы на 4-х переменных (всего!) и не самой прикольной разрядности уже 2 байта на 6 полезных = 30% уже говорит о многом. А народ любит лепить куда надо и не надо смесь 8+32, смотрите те же delay(), millis() - результат 32 бита, а сложном скетче, управляющем десятком железок и принимающий с десятка датчиков ... все выльется в те самые разы. Проверено неоднократно на других железках.
Ну и с мультиплексированием надо просто посмотреть временные диаграммы циклов чтения/записи, чтобы всё встало на свои места. Команды работы с невыровненными данными - это конечно хорошо, но их цена (не знаю как в СТМ) как правило два цикла к памяти вместо одного. То есть ещё в два раза делим тактовую частоту.
Впрочем, нет никаого желания заводить холивар, тем более не в тему. Каждому овощу - свою кухню. А по поводу еррат, как только эта часть описаний будет отсутствовать .. так сразу можно будет и посмотреть. Спасибо что отписались (теперь точно глазеть не стану). :)
Ну и чтобы уж закончить оффтоп: из моих тогдашних изысканий следовало, что для микроконтроллеров управления чем-либо, при 4-х битной регистровой архитектуре (16 РОН) крайне полезна .. 12-битная система команд и коротких адресов (попадание переходов >80%). 32-х битная архитектура сильно избыточна для микроконтроллеров.
P.S. Ну и с точки зрения набора команд. Посмотрите описание команд Интел 8089. Это микроконтроллерная реализация опыта эксплуатации монопольных каналов IBM-360. Очень занятно. :)
P.P.S Просто, ради любопытсва. На AVR при 16Мгц тактовой получаем блинк со скоростью до 5.33Мгц, то есть 3 команды на цикл. С какой предельной скоростью можно реализовать блинк на СТМ32? Просто любопытно.
Соотношение примерно то же. Сами STMы утверждают, что максимальная частота программного ногодрыга равняется F_CPU/2. Это если бежать по коду состоящему из чередующихся bitset/bitreset. Переход на начало при зацикливании, разумеется, будет давать задержку. Народ проверял, получалось что-то похожее. Вот картинка для 168мгц STM32F4
Не подтвердил, а опроверг. :) Если следовать простому правилу и размещать сначала самые "длинные" типы данных, потом поменьше, а в конце однобайтные, то никакой потери памяти из-за выравнивания не возникает.
Вообще объем ОЗУ и флеша таков, что подойдя к исчерпанию того или другого, даже начинающий перестает быть совсем уж начинающим и будет вынужден следовать правилам хорошего тона в программировании, иначе он функционирующую программу такого объема просто не напишет.
Ногодрыг на stm32? Брррр
Пошёл за попкорном, точнее отсюда. Ужас какой то.
Что не так с ногодрыгом?
Не спортивный ногодрыг. Зацыкливать после одного bitset/bitreset надо! Влияние перехода очень даже интересно. К холивару 8&32 мои пять копеек (увы, не оригинальных) - сильно влияет размер обрабатываемых данных. На 8-битном проце, простое A++; для byte, int и long сильно различаются. На 32-битном почти одинаково. Потому, если при обработке 8-битных (и задачи на управление до кучи) размер кода и производительность соизмеримы (на равных МГц), то при переходе на 32-битные данные различие будет сильным. Вывод банален - каждому овощу свое племя.
По RAM - 8&32 в общем пофиг. Нехватает её как правило при работе с большими буферами, т.е. массивами, а у них выравнивание не играет роли - выравнивается весь массив один раз.
ЗЫ. Спасибо a5021 за ликбез, не знал что stm такой сырой.
Я бы не сказал, что так уж сырой. У avr тоже есть места, где без бубна никак. Только они уже хожены-перехожены, т.ч. везде, где нужно, уже все постелено и причесано. Атмега старше и у нее такая орава пользователей-бетатестеров, что большую часть подводных грабель уже выудили, изучили и придумали способы борьбы с ними по нескольку раз. Также следует понимать, что армы сильно навороченнее, а значит сложнее и мест, где могут возникнуть грабли тоже больше. Это закономерно и не стоит здесь излишне драматизировать.
Персоналка уделает мэйнфрейм по некоторым параметрам. Однако все понимают, что эти системы для разных задач предназначены и сравнивать их по тактовой частоте, например, бессмысленно. Это я про ногодрыг в стм.
Холиварьте дальше.
Всю тему засрали своим STM !
4 ядерный ARM c 1 гигом оперативки
http://ru.aliexpress.com/item/Orange-Pi-PC-linux-and-android-mini-PC-Bey...
Я не очень понимаю, о каком холиваре речь, т. к. в здешнем обсуждении не обнаруживается такой уж острой поляризации мнений и все более-менее сходятся в мысли, что каждому сверчку свой шесток.
Ногодрыг для МК довольно распространенная вещь и стм-ы здесь не исключение. Любая софтовая реализация железных протоколов -- это ногодрыг в чистом виде. Очевидно, что производители идут навстречу подобным техникам, расширяя набор средств для управления линиями портов ввода-вывода, дополняя их регистрами для атомарных операций на побитовом уровне. Если ногодрыг -- это плохо, зачем в STM32 появился регистр GPIOx_BSRR, аналог которого на атмеге, например, отсутствует ?
Поэтому вы тоже решили блевануть сюда? К вашему сведению, ардуина это не только атмега, но и MSP340,
STM32
и даже Интел:
Если вас не заботит расширение собственного кругозора, то не стоит мешать в этом остальным.
Наконец то до STM дошло как должна выглядеть правильная отладочная плата: http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF262496
Вот только цена что то не радует. Подожем китайских клонов
у китайцев уже есть NUCLEO-F411RE со встроенным программатором/отладчиком ST-LINK/V2-1
P.S.: Я только не совсем понял, полностью ли она совместима с шилдами для UNO Rev3 - разница между 3,3V и 5V для этой платы разве не имеет значения?
К вашему сведению, ардуина это не только атмега, но и ... даже Интел:
Ардуино открытая платформа, а Edison проприетарная система. Разница принципиальная.
strannik, 22 бакса это дороговато. Надеюсь китайцы выпустят более дешевые клоны без набортного ST-LINK-а
На Arduino Zero и Due тоже уровни 3,3V, эта проблема решается выбором совместимых 3,3V шилдов.
Это сильный перебор!
Ардуино открытая платформа, а Edison проприетарная система. Разница принципиальная.
Не перебор. Недавно выпустили новую плату Genuino 101, так что архитектура х86 потихоньку приходит и в сегмент микроконтроллеров.
Продаваться будет в первом квартале 2016 года по рекомендованной розничной цене $30. С такой ценой это убийца нуклео
Не нужно забывать программы, утилиты, отладчики, которых для х86 понаписали достаточно в свое время. Эта плата позволяет стряхнуть с них пыль. Да и DOS лежит в открытом доступе. А ведь это полноценная RTOS. Для которой есть тонны русскоязычной литературы и примеров кода.
DOS уже с самого начала содержит отладчик. А отлаживать код можно также на своем рабочем х86 компе даже без виртуальных машин и симуляторов.
В чем перебор? Мне глубоко и трагически наплевать на то, кому принадлежат авторские права и прочие атрибуты проприетарности. Я покупаю девайс, запускаю Arduino IDE и управляюсь со всеми доступными на плате пинами, ставшими уже стандартом, как на самой обычной ардуине. И где тут "принципиальная разница"?
что-то цены не очень демократичные: аж 1400 - завышено минимум в 2 раза...