WinAVR продолжение :)

Sep 28, 2005 64 Replies

Привет Dimmy!

30 Sep 05 16:50, Dimmy Timchenko писал Andrey Solomatov:

AS>> Hу я вот периодически забываю - с какой стороны ставится AS>> звёздочка при разыменовании указателя в Си.

DT> Как обычно, не с той, где надо. ;) Вот в паскале инфиксная нотация, DT> намного мнемоничнее.

И унарный минус (-) там ставится справа от своего операнда? :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Дареному письму в клуджи не смотрят.

Hello Alex.

Sat Oct 01 2005 16:07, Alex Mogilnikov wrote to me:

AS>>> Hу я вот периодически забываю - с какой стороны ставится AS>>> звёздочка при разыменовании указателя в Си.

DT>> Как обычно, не с той, где надо. ;) Вот в паскале инфиксная нотация, DT>> намного мнемоничнее.

AM> И унарный минус (-) там ставится справа от своего операнда? :)

Имеется в виду нотация разыменования ссылки. Ведь и в C точка или стрелочка, выделяющая элемент структуры, ставится между именем структуры и именем элемента.

Dimmy.

Hello Igor.

Sat Oct 01 2005 14:47, Igor Ulanov wrote to me:

DT>> Конечно! Hе пользоваться там, где без них можно обойтись.

IU> Когда делал на обычном Си достаточно большое по объему и IU> разветвленное меню, то меня спасли структуры с указателями на функции IU> и на параметры.

Здесь получается что-то вроде дерева, а в таких структурах ссылки используются традиционно. Дерево, связанный список... Hо в "классическом" C указатели используются где попало: для работы с массивами, для передачи параметров в функции...

Dimmy.

Kirill, ты ещё здесь сидишь?

Пятница Сентябрь 30 2005 22:25, Kirill Frolov wrote to Alex Mogilnikov:

AM>> почему-то не хочется ее использовать, есть примерно такой вариант AM>> (переносимый, AM>> не зависящий ни от разрядности, ни от endianness): AM>> void put_uint(unsigned int x) AM>> { AM> if (x>> 9) AM>> put_uint(x / 10); AM>> putchar(x % 10 + '0'); AM>> } KF> Сколько там у младших пиков стека есть?

Hисколько ;) В смысле, стека данных в них в принципе нету.

Георгий

AM>>> void put_uint(unsigned int x) AM>>> { AM>> if (x>> 9) AM>>> put_uint(x / 10); AM>>> putchar(x % 10 + '0'); AM>>> } KF>> Сколько там у младших пиков стека есть? GS> Hисколько ;) В смысле, стека данных в них в принципе нету.

x51 ещё, хотя не так и критично, но любая рекурсия порождает страшный код.

Tue Oct 04 2005 10:55, Dennis Opanasenko wrote to All:

DO> Это несколько другое. Дорогих операций лучше избегать.

Бессмысленно говорить что некоторые операции "дорогие" пока не проанализирован алгоритм в целом.

"Yuriy K" snipped-for-privacy@taekwondo.co.nz> сообщил/сообщила в новостях следующее: news:MSGID_2=3A5020=2F175.2 snipped-for-privacy@fidonet.org...

Это несколько другое. Дорогих операций лучше избегать.

Денис.

"George Shepelev" <George snipped-for-privacy@f124.n.z2.fidonet.org> сообщил/сообщила в новостях следующее: news:MSGID_2=3A461=2F124 snipped-for-privacy@fidonet.org...

Ужас где?

Все равно что сравнивать что лучше: картошка или апельсины. Особенно, когда апельсины сам не ел.

Денис.

Kirill, ты ещё здесь сидишь?

Понедельник Октябрь 03 2005 23:47, Kirill Frolov wrote to George Shepelev:

KF>>> Сколько там у младших пиков стека есть? GS>> Hисколько ;) В смысле, стека данных в них в принципе нету. KF> x51 ещё,

Вот как раз в 51-х стек данных был. Учи матчасть ;)

Георгий

Hello George.

Tue Oct 04 2005 13:24, George Shepelev wrote to Kirill Frolov:

KF>> x51 ещё,

GS> Вот как раз в 51-х стек данных был. Учи матчасть ;)

Hе "был", а "есть". :) Hасколько мне известно, пока что x51 - самое распространённое семейство.

Dimmy.

Dennis, ты ещё здесь сидишь?

Вторник Октябрь 04 2005 10:08, Dennis Opanasenko wrote to All:

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

Георгий

KF>>>> Сколько там у младших пиков стека есть? GS>>> Hисколько ;) В смысле, стека данных в них в принципе нету. KF>> x51 ещё, GS> Вот как раз в 51-х стек данных был. Учи матчасть.

Кончай фигурно квотить. У него этого стека на рекурсию может и не хватить -- вот о чём речь. Всё ж не Z80 хотя бы...

Thu Oct 06 2005 11:03, Dennis Opanasenko wrote to All:

DO> Это не оптимизация, это вопрос эффективного кодирования. Заниматься этим DO> после написания/отладки кода несколько странно.

"Эффективность кодирования" отдельных операций не имеет смысла в отрыве от анализа алгоритма в целом.

Какой смысл писать "эффективный код", в неоптимизированном виде занимающий

0.2% памяти и 0.1% процессорного времени?

"Yuriy K" snipped-for-privacy@taekwondo.co.nz> сообщил/сообщила в новостях следующее: news:MSGID_2=3A5020=2F175.2 snipped-for-privacy@fidonet.org...

Это не оптимизация, это вопрос эффективного кодирования. Заниматься этим после написания/отладки кода несколько странно.

Денис.

Hi Yuriy, hope you are having a nice day!

06 Окт 05, Yuriy K wrote to Dennis Opanasenko:

YK> Какой смысл писать "эффективный код", в неоптимизированном виде YK> занимающий 0.2% памяти и 0.1% процессорного времени?

Hеправильно. Известно, что 20% кода исполняются 80% времени. Значит 0.2% -

99.8%. :)

WBR, AVB

Dimmy, ты ещё здесь сидишь?

Среда Октябрь 05 2005 07:40, Dimmy Timchenko wrote to George Shepelev:

KF>>> x51 ещё, GS>> Вот как раз в 51-х стек данных был. Учи матчасть ;) DT> Hе "был", а "есть". :)

И есть ;) Главное, что изначально был...

Георгий

Kirill, ты ещё здесь сидишь?

Среда Октябрь 05 2005 23:39, Kirill Frolov wrote to George Shepelev:

KF>>>>> Сколько там у младших пиков стека есть? GS>>>> Hисколько ;) В смысле, стека данных в них в принципе нету. KF>>> x51 ещё, GS>> Вот как раз в 51-х стек данных был. Учи матчасть. KF> Кончай фигурно квотить. У него этого стека на рекурсию может и не KF> хватить -- вот о чём речь.

Ты ощущаешь разницу между полным отсутствием стека и небольшим стеком?

KF> Всё ж не Z80 хотя бы...

Hе факт! Зависит от того, сколько внешней оперативки к этому Z80 подключено...

Георгий

Hi Alex !

Четверг, Сентябрь 29 2005 в 18:15, Alex Mogilnikov писал к Dmitry Orlov:

AM> Это еще раз показывает необходимость лучше формулировать вопрос. Я AM> понял именно как первый байт.

Я имел в виду младший байт, хотя это уже не важно. Проблему (:-)) я уже решил.

AM> 2 Александр: применительно к выводу цифр на дисплей я не понимаю, AM> зачем такое может требоваться. Потому что во-первых есть printf(), а

А с какими дисплеями работает printf()?

AM> во-вторых, если уж почему-то не хочется ее использовать, есть AM> примерно AM> такой вариант (переносимый, не зависящий ни от разрядности, ни от AM> endianness):

AM> void put_uint(unsigned int x) AM> {

if(x >> 9)

AM> put_uint(x / 10); AM> putchar(x % 10 + '0'); AM> }

Дисплеем является 10 знаковый 7-ми сегментный ЖК индикатор МЕЛТ 10Т7.

▌·▐·│▌·│··│ Четверг, Октябрь 06 2005 23:28 2·461▌32·23 Всего хорошего. Alexander.

Dennis, ÔÙ Å? ÚÄÅÓØ ÓÉÄÉÛØ?

þÅÔ×ÅÒÇ ïËÔÑÂÒØ 06 2005 10:03, Dennis Opanasenko wrote to All:

HÅ ×ÓÅÇÄÁ. ÷ÓÔÒÅÞÁÀÔÓÑ ÚÁÄÁÞÉ, ËÏÔÏÒÙÅ ÎÅÐÏÎÑÔÎÏ, ËÁË ÒÅÛÁÔØ. ôÏÇÄÁ ÍÏÖÅÔ ÂÙÔØ ÓÐÅÒ×Á ÄÅÌÁÔØÓÑ "ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ" ÒÅÁÌÉÚÁÃÉÑ, ÎÁ ÎÅÊ ÕÂÅÖÄÁÀÔÓÑ × ÔÏÍ, ÞÔÏ "ÏÂÝÉÊ ÁÌÇÏÒÉÔÍ" ÒÅÛÅÎÉÑ ÒÁÂÏÔÁÅÔ ÐÒÁ×ÉÌØÎÏ, Á ÐÏÔÏÍ ÎÁ ÏÓÎÏ×ÁÎÉÉ ÜÔÏÇÏ ÁÌÇÏÒÉÔÍÁ ÓÏÚÄ??ÔÓÑ "ÒÁÂÏÞÁÑ" ÒÅÁÌÉÚÁÃÉÑ, × ËÏÔÏÒÏÊ "×ÙÌÉÚÙ×ÁÅÔÓÑ" ËÁË ÓÁÍ ÁÌÇÏÒÉÔÍ ÒÅÛÅÎÉÑ, ÔÁË É ËÏÄ...

çÅÏÒÇÉÊ

Привет Alexander!

06 Oct 05 22:45, Alexander Panasovsky писал Alex Mogilnikov:

AP> А с какими дисплеями работает printf()?

printf() работает не с дисплеем, а с потоком stdout. А этот поток уже выводит на дисплей драйвер дисплея.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... G8: иногда лучше дирижировать, чем говорить.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required