честно прочитал всю тему... это о mcs51?? что-то я ничего не прочитал кроме первого поста про производительность, а также обсуждение языков... ну как обычно сравнили прогу "hello world" написанную на си и асме... и мне стало грустно... ... как можно сравнить корову с быком??? сейчас пишут на си потом, если критично по времени оптимизирует - делают асмовские вставки, как мне кажется оч правильный подход..., мне было бы интересно посмотреть сколько строчек будет и времени займёт, если написать программу управления 8мью вентиляторами... и передачи скорости и температуры в комп... связь с другими МК по и2с... и т.д. ...
но разговор не об этом разговор о 51ых... так чем они лучше хуже?? вот к примеру ARM... почему не АRM??
вообще было бы круто, если бы это появилось в обучалке... там к примеру чем программить чем отлаживать в чём писать... где лучше применять...
_________________ если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
сейчас пишут на си потом, если критично по времени оптимизирует - делают асмовские вставки, как мне кажется оч правильный подход..., мне было бы интересно посмотреть сколько строчек будет и времени займёт, если написать программу управления 8мью вентиляторами... и передачи скорости и температуры в комп... связь с другими МК по и2с... и т.д. ...
Сейчас пишут.... да, пишут, потому что идет бездумное "упрощенчество" всего: поглядите, все за нас уже придумано, а нам подсовывают готовенькое - компьютеры, которые лучше нас знают, что и как надо делать, заготовки программ, которые за нас все делают... Вы же превращаетесь из художника в простого штамповщика, который тискает готовые штампы. Но слава достается не вам, а тому, кто этот штамп вырезал... В интернете есть немало доказательств того, что разработка "с нуля" программы на Си не более чем на 5-6% времени быстрее, а часто наоборот - дольше, чем на ассемблере, но этот факт упopно игнорируется всеми... А с учетом ассемблерной оптимизации - гарантированно дольше в разы! Видят только мизер: использование готовых процедур, которые в сущности в серьезном проекте ничего не решают... Дело ваше, кушайте пережеванную другими пищу, теряйте собственные зубы - мне все равно...
И напоследок: вам хотелось бы посмотреть на строчки и сколько будет занимать? Так посмотрите: возьмите мой код для термомтера из моей статьи и напишите на любимом Си аналогичный - только полностью аналогичный (т.е. сделайте ПОСЕГМЕНТНУЮ индикацию, как у меня) - примените ваши заготовки для 1-Wire, преобразования температуры и т.п... думаю, сравнение результирующего размера кода вас неприятно удивит. И уверен, что времени у вас на написание этой программы уйдет никак не меньше пары дней - а я свою написал за 6 часов... Сравните и напишите нам о результате.
И еще, про АРМы, не смотря на то, что тема про 51-е. Вы забыли, что есть ведь и 32-разрядные МК...или DSP (они и 128-битные не редкость)... может, сразу на них обучалку надо? А что, tych вам сбацает - какие проблемы? 90% из здесь присутствующих (да и вообще среди любителей, наверное) ни разу не написали программу, которая задействовала бы хотя бы 70% ресурсов даже паршивенького тини2313, не говоря про Atmega16, - но АРМы нам подавай! ДА ЗАЧЕМ ОНИ ВАМ?!?! Только потому, что это модно и "круто"? Тогда я пас, больше в теме обсуждения МК не участвую - ну не крутой я, что поделать...
Извините, я снова сорвался на недопустимый тон, но я искренне возмущен подобными высказываниями. Больше не буду, прошу прощения.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Извините, я снова сорвался на недопустимый тон, но я искренне возмущен подобными высказываниями. Больше не буду, прошу прощения.
всё нормально... накипело...
Цитата:
...идет бездумное "упрощенчество" всего...
ну да... зачем тратить время?? когда уже всё сделано... когда делаешь что-то новое и тратишь время разбираешься... посмотрите RTOS AVRx зачем это писать когда уже написано??? единственно иногда хочется самому это сделать - сидишь и делаешь... а вы сами себе компилятор написали??? а может быть и ОС себе написали??? и она у вас своя....
Цитата:
Вы же превращаетесь из художника в простого штамповщика
никто не преващается... вы же себе машину покупаете, а не собираете... материнку вы тоже себе покупаете и различную преблуду... так вот ваша задача её спаять!!! - бред... я ещё раз говорю "для чего тратить время на то что уже написано?" дописать, исправить, уменьшить размер и т.д..... подумайте - это экономия нашего времени... художник не должен думать о кистях... где их купить и т.д. они должны быть у него и он должен ими рисовать!!!
Цитата:
использование готовых процедур
о каких процедурах вы говорите???
Цитата:
сделайте ПОСЕГМЕНТНУЮ индикацию, как у меня
- вот это я делал на пиках и как раз на асме - оказалось лучше по быстродействию, но намаялся то один сегмент ярче другого то вообще не видно как светится... даже видео есть...
Цитата:
И еще, про АРМы, не смотря на то, что тема про 51-е. Вы забыли, что есть ведь и 32-разрядные МК...или DSP (они и 128-битные не редкость)... может, сразу на них обучалку надо? А что, tych вам сбацает - какие проблемы? 90% из здесь присутствующих (да и вообще среди любителей, наверное) ни разу не написали программу, которая задействовала бы хотя бы 70% ресурсов даже паршивенького тини2313, не говоря про Atmega16, - но АРМы нам подавай! ДА ЗАЧЕМ ОНИ ВАМ?!?! Только потому, что это модно и "круто"? Тогда я пас, больше в теме обсуждения МК не участвую - ну не крутой я, что поделать...
зря вы так... я хотел спросить почему вы отдаёте предпочтение 51ым... только из-за быстродействия??? и спросил а почему бы не взять АРМы?? они тоже относительно быстрые... если бы вы в обучалку про 51ые написали...
з.ы. я в 16ой меге использовал, 4канала ШИМа 4 канала АЦП, УСАРТ,.
так мало написать, нужно ещё и отладить...
_________________ если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Я предпочитаю 51-е только потому, что система их команд по моему разумению - самая красивая, удобная и логичная. Кроме того у них есть несомненные плюсы: например, команда деления, которой нет до сих пор в AVR-ах, стандартно два 16-разрядных таймера (а в более свежих моделях - 3...5 и более), гораздо более удобная работа с портами ввода-вывода, наличие битовых переменных... Для меня быстродействие, как правило, второстепенно, а вот удобство работы - первично. Обучалку по 51-ым я сделал давно и она печатается в журнале Радиолюбитель.. хотите - почитайте... кстати, AVR-ы я применяю не меньше 51-ых, а учитывая, что публикации на тему 51-ых не находят отклика (например, на этом сайте), то последнее время я их применяю даже чаще .
Про Си и ассемблер - разговор отдельный, не для здесь .
На счет художника и кистей: те, кто автомобиль понимает как средство самовыражения, т.е. искусства, тот именно сам его собирает - и таких фанатов немало. Некоторые их них тратят на переделку старенькой победы денег больше, чем на бумера 6-й серии - и рады до слез! А вот когда вы берете КодВизион и за 5 секунд он вам генерирует какие-то процедуры для работы, например, с 1-wire, то это именно штамповка, что бы вы мне не говорили. Кстати, обратите внимание, что вопросов на форуме типа "код мастера кодвизион не работает почему-то" очень много... почему бы это? Да потому, что вынужденный ползать - не взлетит... когда я вам даю свой код, а вы его просто прошиваете - какое ваше участие в процессе? - минимальное. А если что-то не работает - вы кричите мне - помоги! А те, кто берет код всяких кодвизардов - кричит на форуме... А вот я не кричу, потому что вполне без усилий разбираюсь со всеми нюансами, потому что я свой код знаю, как свои 5 пальцев, знаю архитектуру и прочее... знаю, потому что сам все делаю.
АРМы - это очередной способ убедить покупателей-разработчиков потратить деньги там, где прекрасно можно обойтись и без этого. Потому они очень привлекательны - много памяти, быстродействия и всего-всего... Но если вы делаете не стабилизатор полета самолета с обратной стреловидностью крыла - вам эти навороты до лампочки. Согласитесь, что чем выше производительность, тем более длительные задержки вы добавляете в свои программы, т.к. они работают с человеком, которому и 20 событий за секунду - перебор... Т.е. взяв более мощный процессор вы станете тратить его производительность на торможение его же работы! Абсурд! Неужели никто не понимает, что увлечение всеми этими наворотами ничего, кроме роста собственного тщеславия, не приносит? Посмотрите на компьютеры: за 10 лет их производительность возрасла в тысячи раз, и что, набирать тексты стало легче? а на что тратится эта производительность? на картиночки... и на средства снижения производительности в моменты простоя... т.е. оказалось, что выгоднее тормозить процессор, ибо он простаивает больше, чем работает... это тупик разума... удав, пожирающий свой хвост...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
на счёт кодвижн согласен барахло и деградация!!! но есть IAR, WinAVR gcc...
вообще насчёт простоя и производительности... я даже не знаю как можно загрузить проц по полной.... можно поставить компилиться проект плисовский какой-нить большой... или в visual C++ что-нить огромное откомпилировать... или играшку поствить... а так ну где ещё или как ещё?? хз...
сейчас на работе осваиваю АРМ ну надо так... вообще в нём много чего есть к примеру встроенный юсб, контроллер DMA, можно спокойно реализовать цифровой фильтр, массивчек размещать в память, и спокойно не обращаясь к ресурсам ядра передавать по юсб... возможности колосальные, но только где применить простому радиолюбителю (коим и я являюсь), я не знаю... и после авр это что-то такое очень сложное... авр гораздо проще...
з.ы. да и вообще надо чем-то себе деньги зарабатывать... вот и приходится за всё хвататься...
_________________ если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Оратите внимание: я ни слова не говорил про зарабатывание денег. Увы, зарабатываем тем, за что платят, но ведь это не обязывает нас тем же самым заниматься для себя, для души и хобби? Действительно, для любительских применений АРМ совсем не требуется... и тем более за 2 дня - чему там научишься, кроме вершков, кроме готовых примеров? А USB во многих МК есть нынче, но цена их, мягко говоря, не для всех...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Выкопал на одном из форумов такое высказывание(идет сравнение с AVR):
Цитата:
По моему наличие всех необходимых бит признаков и установка их при любой операции - самый большой прорыв, по сравнению с х51. Именно это дало такой прирост производительности при работе с арифметикой. Там сравнение - это просто пляски с бубном.
О каких плясках с бубном речь? Как я понимаю о том, что в x51 нет команд подобных avr-овским, как например: BRSH, BRLO, BRMI, BRPL, BRGE и т.п. ?
Кстати, а как в x51 прыгать в зависимости от выше описанных условий? Только с помощью прямо анализа регистра PSW ?
Между прочим, один человек с работы дал мне на выходные поиграться такую плату от Silabs, в комплекте у нее идет вот такой USB программатор/отладчик, маленькая такая коробочка (на ладони умещается).
Ну что могу сказать, впечатления остались очень хорошие, особенно что касается отладки. Не сравнить с AVR. По работе приходится иметь дело с avr-овским JTAGICE mkII, это просто монстр, здоровая коробка, цена которой что то около 300$, тормозная и глюкавая :-/
Силабовский же отладчик всего 35$ стоит, у нас в городе например за 42$ можно взять. При чем схема этого отладчика есть в даташите, а прошивку как то сумели выдрать. Т.е. если есть желание, то можно и самому собрать. Если отладка не нужна, то можно собрать программатор совсем "на коленке" (под LPT порт), схема не сложнее чем у ByteBlaster.
Так что Silabs, как уже говорил tych, жжёт! :)))
Правда вот не смотря на дешевые отладочные средства, цены на сами кристаллы всё таки побольше, чем на аналогичные AVR.
И еще один момент. Поковырявшись по силабовским даташитам, я понял, что любой внутренний модуль можно отмапить на любой пин. Я правильно понял? Если да, то это очень круто и удобно.
Поковырявшись по силабовским даташитам, я понял, что любой внутренний модуль можно отмапить на любой пин. Я правильно понял?
нет, не правильно. "матрица коммутации" самостоятельно "мапит" выводы в зивисимости от того, какие периферийные устройства задействованы. при этом почти любое устройство может оказаться почти на любых выводах, однако не на конкретно указанных пользователем, а в соответствии с логикой матрицы коммутации.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
нет, не правильно. "матрица коммутации" самостоятельно "мапит" выводы в зивисимости от того, какие периферийные устройства задействованы. при этом почти любое устройство может оказаться почти на любых выводах, однако не на конкретно указанных пользователем, а в соответствии с логикой матрицы коммутации.
Тогда это наоборот не фига не удобно :-/
А я то уж по началу обрадовался, что на любой пин можно настроить. Эх...
однако не на конкретно указанных пользователем, а в соответствии с логикой матрицы коммутации.
Дак логику коммутации пользователь знает надеюсь из даташит ...
Иначе он ламер а не юзер.
я просто хотел подчеркнуть, что хотя сигналы, например, SPI погут "гулять" по ножкам корпуса МК, однако не произвольно, а строго в определенном порядке: если назначенные по умолчанию выводы свободны - они и будут сигналами SPI, а если более приоритетное устройство (АЦП например) заняло один из этих выводов - сигналы SPI будут сдвинуты на необходимое число линий - примерно так...
Brutaller, удобно или нет - это уж как посмотреть. Иногда очень даже удобно, иногда - ничуть не хуже, чем у статически прописанных выводов, как у AVR, например. Чтобы это было именно неудобно - даже и не представляю, почему вдруг...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения