- Именно этого я и хотел, чтобы без лишних переменных. И я и подозревал, что компилятор так и сделает, передаст в регистры. Mazur(281 знак., 07.09.2013 17:46, dao, полностью)MBedder
- if(!proc_timer(ST_LED)){ - Скрипач(07.09.2013 21:23)
- Угу. - Mazur(07.09.2013 21:24)
- На счет регистра с возвращаемым значением. Тут не компилятор это дело решает в каждом отдельном случае, а регистр для этой цели застолблен в данном компиляторе навечно. Т.е. вы можете запомнить, через какой регистр(ы) передавливается u8 (u16), а Ксения(268 знак., 07.09.2013 18:16)
- Сброшенный флаг обычно проверяют так: if (~proc_timer(ST_LED) & (1<<0)), здесь оператор ~ изменяет все биты числа на обратные. - Ксения(07.09.2013 18:05)
- Ну, так, опять же, если иметь в виду "мелочную" оптимизацию, то данный вариант не является Bill(161 знак., 07.09.2013 18:12)
- Оставьте оптимизацию компилятору. В данном, конкретном, случае он справится. - Скрипач(07.09.2013 19:59)
- Нет! В данном случае не справится. ;) - Bill(07.09.2013 22:21)
- Это "вычисление констант на этапе компиляции". Инверсию перенесет в константу. Или нет? - Скрипач(07.09.2013 22:24)
- В том-то и дело, что нет. Вызов функции - не есть константа. - Bill(08.09.2013 00:34)
- Ваши сведения устарели. Включите режим "multifile compilation", "link time optimization" или как оно там называется в вашем компиляторе. А если нет такого режима, то сочувствую. - SciFi(08.09.2013 00:47)
- Вообще-то, у меня IAR AVR V5.51. А у вас какой? Да и потом, Bill(145 знак., 08.09.2013 00:56)
- Ну и зря не надеетесь на компилятор. Компилятор - друг программиста. Без друзей тяжко. SciFi(181 знак., 08.09.2013 01:01 - 01:03)
- Ну, во-первых, я со своим компилятором давно дружу, и он меня не подводит. А во-вторых, как следствие Bill(331 знак., 08.09.2013 01:13)
- "все получается автоматически". А что именно получается? - SciFi(08.09.2013 01:15)
- Оптимизация, естественно. Bill(122 знак., 08.09.2013 15:02 - 15:15)
- Вопрос: сколько было проектов, которые без этой оптимизации не работали? - SciFi(08.09.2013 15:43)
- Было три проекта, в которых мне пришлось заняться оптимизацией вручную. В одном - не хватало памяти, в двух других - скорости. - Bill(08.09.2013 15:56 - 16:28)
- А если в процентах? По Кнуту должно выйти 3% :-) - SciFi(08.09.2013 17:35, ссылка)
- С этим можно соглашаться, а можно и не согласиться. Тут все зависит от того, что именно Bill(387 знак., 08.09.2013 17:55)
- Во! В точку. Эффективное программирование. Спасибо, что за меня сказали. - Mazur(08.09.2013 18:13)
- Рано радуетесь. Эффективность каждый понимает по-своему. SciFi(252 знак., 08.09.2013 18:17)
- 1 - Тут всего лишь тот момент, что за меня сказали то, чего вы бы от меня не приняли. Типа "ты сначала хоть как-то научись программировать, потом уже можешь говорить об эффективном программировании". Mazur(201 знак., 08.09.2013 18:37)
- Ну, так, опять же, тут палка о двух концах. Что значит "убил несколько дней"? Еще раз повторю: я не занимаюсь оптимизацией специально. Я просто использую приемы, позволяющие создавать достаточно эффективные программы. И эти приемы ни от языка, ни Bill(627 знак., 08.09.2013 18:36)
- В компиляторах проф. уровня такого нет. - fk0(08.09.2013 00:48)
- Если при сброшенном флаге вам ничего другого делать не надо, то оставьте так, как есть. Часть else не является обязательной. - Ксения(07.09.2013 18:01)
- По последнему примеру я пробовал до этого так делать. Только компилер ничего в этом случае не компилит. То есть, этого куска кода просто нет. - Mazur(07.09.2013 18:01)
- :)) Bill(107 знак., 07.09.2013 17:58)
- кто расскажет, существуют ли болты с гайками типа М10-М12 из какого-нить полупропилена/полуэтилена? LordN(52 знак., 28.08.2013 20:51, Tech, полностью)
- "Это кошка. Вид сзади" -> Символ наступившего? - Evgeny_CD(02.09.2013 22:07, zen, ссылка, полностью)
- помогите идентифицировать: Корпус SOIC-8, на корпусе надпись "ATMEL1113", второй строчкой - восемь цифр. ЕЕПРОМ ? Какая ? - Hobo(07.09.2013 21:55, SCH, полностью)
- KT3117 пластик может быть нестандартное расположение выводов? В полевых условиях нужно отремонтировать прибор. Дожили - нет ни паяльника нормального, ни инструментов, зато есть интернет! - Vladimir Ljaschko(07.09.2013 12:49, SCH, полностью)
- Какие есть варианты в Си из числа unsigned int16 получить в две переменных unsigned char отдельно старший и отдельно младший байт, кроме структуры и union? AU08(151 знак., 08.09.2013 02:11, dao, полностью)
- А теперь хотел бы понять особенности приведенных вами примеров. Напоминаю, си только начал изучать. И поэтому хотел бы понять нюансы. Я пока на стадии "лампочками поморгать". Бегущие огоньки по кругу заработали на следуюшем коде: Mazur(702 знак., 06.09.2013 08:49 - 08:53, dao, полностью)MBedder
- Защита порта МК. nut(780 знак., 05.09.2013 13:41, MCU, полностью)
- Изготовление PCB.... Дома. ->> - xanoy(06.09.2013 22:44 - 22:46, Tech, youtube, youtube, полностью)
- На плате несколько гнёзд 1586037-4 разного назначения. Нет бывает ли "таких же, только других" разъемов с разнообразием ключей, чтобы исключить втыкание не того не туда? - semens(06.09.2013 15:29, SCH, полностью)
- 10 принципов правильного интерфейса General(2049 знак., 04.09.2013 18:22, zen, ссылка, полностью)
- К сожалению, Микрософт Ворд все дальше уходит от этих принципов. Я уж не говорю об Андроид-планшетах, где простой слесарь без пал-литры и какой-то там матери вообще не разберется. - tesla(06.09.2013 16:55)
- Свежее наблюдение из области эргономики: Лeoнид Ивaнoвич(1105 знак., 06.09.2013 16:43)
- Идея сенсорных кнопок - тыкать в кнопку, неожиданно выскочившую перед глазами - Скрипач(06.09.2013 18:23 - 20:21)
- Из обычных кнопок тоже возможно создать (censored). Пример -кнопки на мониторе BENQ G2450. Торчат сбоку, без малейших разделителей. Осязание отказывается отделять. Если бы они решили сделать кнопки с тыла, но отчетливые, было бы комфортней. Ну не semens(7 знак., 06.09.2013 19:58)
- Конечно, именно поэтому в промышленных и военных устройствах сенсорные кнопки не применяются. tesla(88 знак., 06.09.2013 17:17)
- У самсунга сенсорные кнопки подсвечиваются светодиодами, проблемы аккомодации глаз при переходе с яркого экрана не существует. Вывод: сенсорные кнопки филипса - отстой :-) бомж(127 знак., 06.09.2013 17:05)
- У военных применяются механические переключатели именно по этой же причине. Во-первых, сразу имеется визуальный контроль состояния, во-вторых, при невозможности визуального контроля можно определить состояние переключателя (и при необходимости rezident(65 знак., 06.09.2013 17:01)
- Согласен. Довольно удобно положить несколько пальцев на кнопки, скажем 4 стрелки и enter, и удерживая их там, нажимать вслепую по ходу дела, что-то изменяя или настраивая, но глядя при этом на экран, а не на кнопки. С сенсорными это не выйдет Alex68(7 знак., 06.09.2013 17:00)
- Спасибо за важную информацию - Vladimir Ljaschko(06.09.2013 16:47)
- Уже 1-ый пункт ("Состояние системы должно быть всегда понятно для пользователя") невыполним. Дальше можно не читать. - Ксения(05.09.2013 13:24)
- Угу. Запустил в фаерфоксе фильму, начал смотреть, вижу мура какая-то, решил пролистать побыстрому. Двинул чуть дальше, усе зависло винт в компе вращается как бешеный. Запускаю диспетчер задач. Загрузка системы 2%, сеть - 0%. через пару минут Codavr(169 знак., 05.09.2013 18:08)
- Почему это он невыполним? Имеется в виду, что если система чего-то ждёт, например, то она должна юзеру об этом сообщить. Не мигающим курсором, а внятно. Если для работы нужно чего-то подключить, то это тоже нужно внятно сообщить и т.д. - Shura(05.09.2013 13:28)
- Как все это сделать одним мнемоническим индикатором? - Petrovich(05.09.2013 14:19,
)
- А кто сказал, что он должен быть один и мнемонический? - Shura(05.09.2013 14:37)
- А как же? Я пляшу от слова "всегда", категорично вставленного в Правила. Ведь один мнемонический LED - это частный случай визуального интерфейса. - Petrovich(05.09.2013 14:41,
)
- Не от той печки пляшешь. Это правило означает, что если не можешь одним индикатором выполнить это правило ставь два, ... если N мало ставь N+1 итд пока правило не будет выполнено. Как-то так. - Codavr(05.09.2013 18:39)
- Есть системы, состояние которых можно вполне понятно и однозначно отображать и 1-м СИДом. Лампочка "занято" над сортиром :-) - Shura(05.09.2013 14:44)
- Это где такие сортиры? - Codavr(05.09.2013 17:36)
- Я это не в порядке какого-то флейма. Мне действительно надо отобразить на одном LED и состояние внутренней батареи и количество свободной памяти (логгер). И еще несколько состояний: ожидание запуска, сам процесс измерений. Вот как? Да, LED может Petrovich(18 знак., 05.09.2013 14:49,
)
- У меня на платах всегда стоит двухцветный планарный светодиод, либо два мелких, рядом и разного цвета. Обычно красный и зелёный. Ну и алгоритм простой. Если горит красная лампочка, а зелёная моргает. То это ошибка. Количество морганий зелёной при Звероящер(727 знак., 06.09.2013 05:42)
- дык, зачем тужиться быть святым? не вполне соответствую идеалам, таковы жестокии реалии пожеланий начальства. - semens(05.09.2013 21:43)
- Так не пробовали? - GDI(05.09.2013 15:17, ссылка)
- Да никак. Экономя на спичках конфетку не сделать - Shura(05.09.2013 14:54, ссылка)
- Там есть правило №11 (осталось за кадром): тому, кто заложил всего один LED, когда их должно быть 5, - пожизненный эцих с гвоздями. - SciFi(05.09.2013 14:54)
- Утюг вообще без индикаторов, и ничего, народ справляется :-) - amusin(05.09.2013 14:31)
- тогда еще пользователи были выше среднего по соображалке, сейчас это не так - продукты с известными интерфейсами массовые. ну и за пункт 2 я бы расстреливал даже в те времена :), была такая тема в изучении английского - "ложные друзья yes_np(34 знак., 05.09.2013 12:37)
- О где-же ты DEC. - plainuser(05.09.2013 11:33)
- Судя по тому, что сплошь встречается - это редкий текст. Спасибо. - semens(04.09.2013 19:25)
- Угу. "Включить, чтобы выключить". Тут недавно был топик на тему интерфейсов и управления. - rezident(04.09.2013 18:33, ссылка)
- Ещё один конкурс
красоты популярности среди МК -> - SciFi(05.09.2013 11:31, MCU, ссылка, полностью)
- Так сказать, дебют. Покритикуйте. Понимаю, что элементарщина, но ... :) Mazur(390 знак., 05.09.2013 19:37, dao, полностью)MBedder
- не запускается SlickEdit "C:\Program Files\SlickEditV15.0.1\win\vs.exe" в процессах висит. Восстановил всю папку из образа акронис, не помогло. Весь образ восстановить пока не готов много чего потом поставлено было. Если никто не подскажет abivan(23 знак., 06.09.2013 13:14, MCU, полностью)
- Душа опять просит извращений... можно ли как-то быстро конвертнуть PCI на старой пром. мамке в AGP для старой восьмиметровой Vanta LT? - Николай Коровин(06.09.2013 00:39, dao, полностью)