Страница 24 из 45

Re: Девушка с паяльником желает познакомиться...

Добавлено: Пт янв 27, 2012 22:45:44
Foks
Простите за оффтоп. Текст ниже можно не читать.

Alkul писал(а):И наоборот, если требуется относительно неспешно рассчитывать что-то тригонометрическое, гораздо проще использовать Си, чем писать на ассемблере подпрограмму расчета, допустим, функции арктангенса. Или, к примеру, если требуются вычисления с плавающей точкой.
Позвольте с Вами подискутировать. Пробовали использовать эти функции? Они компилируются в неимоверно громоздкий и очень медленный код, который тоже в большинстве случаев никуда не годится. Кроме того, в AVRmega есть аппаратная поддержка чисел с плавающей фиксированной точкой, которая не используется в Си. Реализация математических функций путём разложения в ряд не очень-то и сложна на ассемблере, и при том получается терпимое быстродействие. Да и 32-битная (или 23-х в случае с плавающей точкой) точность, которую Вы получите в Си нужна очень редко. То есть, если Вам не нужна вся математическая библиотека, а нужны одна-две функции, да еще с не очень большой точностью - то вполне оправдано использование ассемблера. Если же нужна вся - чтоже, можно взять ATmega128, и написать компактненькую программу на си, которая в итоге скомпилится в сотню килобайт двоичного кода и даже будет работать (пусть даже быстродействия будет достаточно). Но тут уже неясно, зачем использовать дорогущий 8-битный микроконтроллер, когда 32-битки уже стоят копейки, а для поставленной задачи скорее всего сгодится самый простой из 32-битных микроконтроллеров.

Еще есть нюанс так же в операциях умножения, деления, и других простых математических операциях. libc не выделяет эти операции в отдельные процедуры, а компилирует голым кодом - т.е. размер итогового бинарника прямо пропорционален количеству таких операций. В tinyAVR это вообще кошмар, т.к. там нет даже аппаратного умножения. Это заставляет писать вот такой код:

Код: Выделить всё

int mul(int a, int b) { return(a*b); }
И потом использовать для умножения эту функцию. Оно вроде и не сложно, но не умея читать листинг, человек не разберётся, что именно и где нужно оптимизировать и выделять в отдельные процедуры, если его кто-то не ткнёт носом.
Alkul писал(а):Как Вы будете решать эту задачу на Си? Разве Вы можете с уверенностью сказать, в какие именно ассемблерные команды и каким образом компилятор превратит printf() в машинный код и какие при этом будут временные тайминги полученных импульсов?
Здесь я полностью соглашусь и добавлю еще что проблема тайминга присутствует не только при генерации сигналов высокой частоты. Пример - наличие двух прерываний: одно срабатывает часто, а другое выполняется долго. Вот, запуск второго прерывания приведёт к дисфункции первого.
Когда пишешь что-либо на Си, всегда приходится задумываться о быстродействии той или иной операции, либо заглядывать в листинг, и смотреть, что он там накомпилил, иначе отладка программ занимает больше времени, чем написание с нуля на ассемблере.

Впрочем, если человек решил что ему нужен именно Си, то вряд ли получится его переубедить, потому что психология здесь такая: цепляться за любой намёк на преимущества Си, и игнорировать все остальное. Как ни крути, любой человек учится на своих ошибках, не смотря на то что другие делятся с ним опытом.[/size]

Re: Девушка с паяльником желает познакомиться...

Добавлено: Пт янв 27, 2012 23:01:36
МитяРа
Кошаки, давайте не будем Маринкину тему "запостивать" пространными рассуждениями Asm & Си..

Re: Девушка с паяльником желает познакомиться...

Добавлено: Сб янв 28, 2012 23:04:31
marinkaest
Спасибо ! Всё перечитала!
Все мысли справедливы!

На первых страницах уже шел разговор о высоко и низкоуровневом программировании.
Но кодевиж я мало - мальски освоила. и с ходу могу теперь подрыгать ножками по прерываниям таймеров и управлять кнопками временем отсчета и сохранять данные в еепроме. в чужом исходнике что -то поправить ( много сложных программ встречается с массой некоммент переменных , которые взором не отловить зачем нужны- тогда стоп), Теперь не боюсь Фузы программировать , какие мне надо и возвращать назад, и прошивать Лошадью или Кодевижном
Рисовать красивые печатки в спринте и лутить, а раньше мучалась маркером :)
http://dl.dropbox.com/u/25135800/%D0%98 ... %D0%B8.doc

А научил меня этому кот Вадим i8086 с Украины
А учеба и конкурсы- это моя работа
http://dl.dropbox.com/u/25135800/GRAND%202012.flv
:facepalm:

Re: Девушка с паяльником желает познакомиться...

Добавлено: Сб янв 28, 2012 23:13:22
FreshMan
marinkaest, по какому принципу работает СНЕЖОК ?

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 00:24:39
marinkaest
пока только таймер на включение 5 мин

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 04:55:39
rojan
Простота - дочь гениальности. Больше и ничего не надо, молодец!

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 12:19:17
FreshMan
и что он у тебя включает ?

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 12:40:39
marinkaest
2 холодильника подключены к нему

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 12:46:48
FreshMan
это он опосля пропадания питания включает их с задержкой в 5 мин ?

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 13:04:17
marinkaest
ага

:))

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 13:36:13
FreshMan
а можна принципиалку в хорошем качестве ? :))

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 13:49:12
marinkaest
а там разве плохая?

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 17:08:42
FreshMan
ОЧЕНЬ :))

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 19:51:17
marinkaest
Ну выложи свою и поучи как надо рисовать

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 19:56:24
FreshMan
скинь исходник..............., ты же эту схему в какой-то проге рисовала, вот файл этой проги и скинь, плиз :tea:

Re: Девушка с паяльником желает познакомиться...

Добавлено: Вс янв 29, 2012 23:14:42
edm2007
Вполне адекватная схема из протеуса. Может дело вовсе не в схеме? :tea:

Re: Девушка с паяльником желает познакомиться...

Добавлено: Пн янв 30, 2012 00:31:23
marinkaest
Точно. это протез :)

Re: Девушка с паяльником желает познакомиться...

Добавлено: Пн янв 30, 2012 00:34:55
edm2007
Ох, так его еще не называли. И шпротеус, и протос почему-то но чтоб протез. :))

Re: Девушка с паяльником желает познакомиться...

Добавлено: Пн янв 30, 2012 18:26:37
FreshMan
всем спасибо.............., разобрался :)

Re: Девушка с паяльником желает познакомиться...

Добавлено: Пт фев 03, 2012 15:11:50
BOB51
это к теме холодильников
древнющий и примитивный проект "на коленках"
(где-то я его уже выкладывал - искать ссылки дольше будет)
:beer: