Согласование UART AVR и мобильника... хелп!

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
NiTr0
Друг Кота
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua
Контактная информация:

Сообщение NiTr0 »

Это я к тому, что "более оптимизированный" код в С++ не обязан стать короче после трансляции в асм ;)
Реклама
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

NiTr0 писал(а):Это я к тому, что "более оптимизированный" код в С++ не обязан стать короче после трансляции в асм ;)

Совершенно верно, ибо существует оптимизация как по размеру, так и по времени выполнениня, поэтому тут действительно возможны варианты :).
Вы наверное имеете ввиду, что запись while (!(UCSRA & (1 << UDRE)))
длинне на операцию отрицания, чем while (UCSRA ^ (1 << UDRE)), но результат компиляции первой значительно короче, чем результат компиляции второй. Это действительно так, и собственно тем и хорош Си, что при грамотной разработке компилятора позволяет учитывать возможности "железа", для получения оптимального результата. В данном случае имеется ввиду команда sbis (или sbic). Мне, когда я пишу на асм, не удобно смотреть адреса регистров (тк sbis не на все пространство ввода-вывода действует), поэтому я пользуюсь универсальыми решениями (исключения когда уж совсем критичная к времени задача), которые не всегда оптимальны по скорости. Си компилятор позволяет не запоминать труднозапоминаемые данные и сосредоточиться на задаче.
Однако офтоп получился, ну да ладно, зато обсудили "хитрости и тонкости", по-моему рациональное звено в теме есть.
Реклама
Аватара пользователя
asteroid7
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

smac, мне казалось с вами интересно будет побеседовать. Ошибся. У вас нет ни чувства юмора ни логики. Могла получится не плохая тема. Но так её передернуть...
smac писал(а):Давайте не будем разводить религиозную войну...

smac писал(а):...призыв издевательства над разработчиками я осуждаю и прошу Вас впредь воздерживаться от подобных высказываний. ...
Это по типу на вид у меня уже есть, строгого с предупреждением пока нету. :)

Не утруждайте себя ответом. Скучно читать ваши посты.
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

asteroid7 писал(а):smac, мне казалось с вами интересно будет побеседовать. Ошибся. У вас нет ни чувства юмора ни логики. Могла получится не плохая тема. Но так её передернуть...
Не утруждайте себя ответом. Скучно читать ваши посты.

Все-таки отвечу. Началось все с этого
asteroid7 писал(а):В Си, строка while ( UCSR0A ^ (1<<UDRE) ) не имеет смысла, т.к. в операторе while выражение всегда будет истинно... или true... , а проще просто зациклится.

Я Вам пытался доказать, что в некоторых случаях не зациклится, Вы же плавно перешли к обсуждению комилятора в нелицеприятной манере, так какого ответа вы ожидали? Шутки по поводу криворукости разработчиков компилятора можете отпускать в курилке, я уверен, что руки у этих разработчиков попрямее чем у многих на этом форуме.
По поводу чувства юмора - не мне судить, а вот по поводу логики - хотелось бы узнать, что нелогичного в моих постах?
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»