Свежие обсуждения
Микроконтроллеры

С чего начать изучение PIC-контроллеров новичку?

1 8 10

Wiza
Иногда главнее - качество.
- Качество -- понятие мутное. Абсурдно называть прошивку "некачественной" из-за чуть большего объема и чуть меньшего быстродействия, если она удовлетворяет ТЗ. Другое дело -- количество ошибок, ну так в большой ассемблерной программе накосячить легче.

в сравнении WinAPI с ЯВУ для компа
- Э... как можно сравнивать API (любой) с языками программирования.

AlexAlcoa
А причем здесь программист
- Плохой программист напишет жутко неэффективную, кривую и глючную программу на любом ЯВУ.

"getchart и sendstring" они и займут вагон памяти
- Странные какие-то представления об эффективности компиляторов. С какой радости они займут вагон памяти, можете объяснить или доказать ассемблерным листингом?

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

 

Господа, опять вы за старое Пишите, на чем умеете! Количество ошибок в программе зависит только от того, кто пишет программу - и ни от чего больше. Да, на чем-то ошибаться легче, а на чем-то труднее, но это - не закон, а вероятность! Сошлюсь также на покойного Дейкстру - "выбором языка программирования и режимов оптимизации можно сократить объем программы в 2..3 раза, правильно реализованным алгоритмом - на 2..3 порядка".

 

chav1961
- Товарищь chav1961 упрощает : - )
Количество ошибок в программе зависит только от того, кто пишет программу - и ни от чего больше.
От выбранного инструмента (языка) количество ошибок зависит сильно, что Вы и подтверждаете:
на чем-то ошибаться легче, а на чем-то труднее
Но потом противоречите сами себе:
но это - не закон, а вероятность!
Статистическая вероятность ошибки -- вполне себе закон, есть же соответствующие исследования касательно программного обеспечения.

 

caddr, упорный Вы товарисчь! Если устроить исследование с участием меня (Ассемблер) и любого лоха (язык С), окажется, что на Ассемблере писать быстрее, проще и правильнее. Безо всякой ложной скромности Поэтому повторюсь: единственный источник ошибок в программе - сам программист. Более того, разговоры о правильном выборе на чем писать (это мои личные наблюдения за студентами) создают у многих людей иррациональную уверенность в том, что выбор, к примеру, языка С автоматически гарантирует написание абсолютно правильных, молниеносных, компактных программ, понятных любому идиоту . Выбор "правильного" языка уже давно - вопрос веры. Выбирайте то, что легче пойдет. У меня, например, критерий выбора вообще эмпирический - если память программ в микроконтроллере менее 4К, для него надо писать на Ассемблере, если более - на С. Не на С forever, на на С для данного случая!

 

chav1961
Если устроить исследование с участием меня (Ассемблер) и любого лоха (язык С)
- Заведомо некорректный эксперимент. Исследование надо строить участием Вас (Ассемблер) и Вас же (язык Си).
Более-менее сложную программу на Си Вы напишите быстрее и с меньшим количеством ошибок, обнаруженных уже в процессе эксплуатации устройства. Источник ошибок всегда программист. Но будь он трижды гением, остается банальная человеческая невнимательность.

У меня, например, критерий выбора вообще эмпирический - если память программ в микроконтроллере менее 4К
- Достаточно спорный критерий, если не использовать гигантские библиотечные функции а-ля printf, принципиальной разницы по объему прошивки не наблюдается. Прочем, не суть важно. Вы как раз подтверждаете высказанную мной ранее мысль -- при адекватном восприятии окружающей действительности использование ассемблера всегда вынужденная мера : - )

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

 

Про 4К - дело, собственно, не в объеме прошивки. Просто микроконтроллер с 4К и более уже "вырастает" из ассемблера - в нем и ресурсов побольше, и система команд побогаче (речь - не про PIC), и более-менее сложные техники программирования на нем можно применять, не трясясь над каждым битом. Языки высокого уровня - это не блажь программеров, а необходимость. А джедаи пусть пишут на асме. Запереть их в камеру, дать им Мегу256, и пока последний байтик кодом не заполнят - не выпускать Ассемблер я люблю, но до таких жертв моя любовь не доходит.

 

djelektronik: при нынешних ценах на авр это не имеет значения
не влазит в тини2313? купим мегу8
разница в цене 30 центов

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

 

chav1961: Сошлюсь также на покойного Дейкстру - "выбором языка программирования и режимов оптимизации можно сократить объем программы в 2..3 раза, правильно реализованным алгоритмом - на 2..3 порядка".
Полностью согласен.
Правда часто уменьшение объёма влечет замедление программы. (я про программирование на ассемблере)

 

Кстати, учитывая "любовь" Дейкстры к GOTO, он наверняка ненавидел ассемблеры : - )
(достоверно можно сказать, что недолюбливал BASIC, FORTRAN, PL/I, COBOL и чего-то ещё).

 

2 SAN
Довольно таки непонятно Ваше последнее утверждение.
Выходит, что чем больше программа по обьему - тем быстрее работает ?