Похоже атмел кончился

Oct 02, 2008 470 Replies

a и b -- константы. Следовательно, всё можно свести к одной операции умножения в длинных числах, и одной операции сдвига на величину порядка

2^N. Как именно, думаю, и так понятно. avr-gcc, если что, кстати, long long поддерживает.

Тут на #ru_embedded (irc.forestnet.org) помнится загадку загадывали. Есть кубик из резисторов (12 штук, на каждой стороне). Сопротивления резисторов даны (или, вроде, вовсе все одинаковы). Hайти сопротивление между противоположными углами кубика. Кто-то реально его спаял и измерил...

Приветствую Вас, Kirill!

14 Окт 08 года, в 23:24, Kirill Frolov (2:5020/400) -> Anton Barabanov:

KF> В советском союзе я мог купить водку ночью. А сейчас не могу. Потому

А я могу и ночью. Достаточно полквартала пройти. Но водку я не люблю...

Пока. Anton.

... Не мечи бисер перед свиньями. Они этого не оценят.

От абаснуя слышу! (C)

Hу да. Кроме C# вообще, ну вообще ничего не нужно. Даёшь windows XP embedded в каждый pic16f84.

KF>>> И телевизор стоил как 7 зарплат работяги. KF>> Зато квартиру теперь работяга не купит HИКОГДА. А тогда получали.

KF> Члены Партии, Правительства и к ним приближённые. Ага. опять глупая пропаганда

... Простые задачи решают без нас!

В загнивающем империализме в то время можно было купить нормальный настольный комп вроде Commodore Amiga, просто пойти в магазин и купить, и не за такие уж и фантастические деньги. Речь, напомню, о второй половине 80-х. Amiga и весь совкопром вместе взятый -- небо и земля. Цвет, звук, мультимедия и 32-бит проц с мегабайтом памяти. Окошечный, а-ля виндовс, интерфейс. A тут радио с программированием в машинных кодах, ибо ассемблер ниасилили, и CP/M запустить (где был ассемблер от мокрософта) запустить тоже ниасилили.

KF>> формула P = a/(T*b) в 32-битной арифметике вычисляется AVR'ом примерно KF>> 50-80 мкс (цифры близкие к реальности но отчасти от фонаря даны, во

KF> a и b -- константы. Следовательно, всё можно свести к одной операции KF> умножения в длинных числах, деления

сведенное к этой операции в длинных числах в нужное время не укладывается, классика

KF> и одной операции сдвига на величину порядка KF> 2^N. Как именно, думаю, и так понятно. avr-gcc, если что, кстати, long long KF> поддерживает.

KF> Тут на #ru_embedded (irc.forestnet.org) помнится загадку загадывали. KF> Есть кубик из резисторов (12 штук, на каждой стороне). Сопротивления KF> резисторов даны (или, вроде, вовсе все одинаковы). Hайти сопротивление KF> между противоположными углами кубика. Кто-то реально его спаял и KF> измерил... гы, это не Торрес-Орлов случаем был?

... Слабый пол сильнее сильного в силу слабости сильного пола к слабому.

Hello, Nickita A Startcev! You wrote in conference fido7.ru.embedded to Michael Belousoff on Tue, 14 Oct 2008 20:15:18 +0400:

DO>>>> А мне по фиг поддеpжка многоypовневых макpосов.

DO>>> это потомy что ты ни pазy пpогpаммы сложнее 2+2 не писал

MB>> Сложные пpогpаммы пишyтся на Си. Зачем там многоypовневые MB>> макpосы?

NAS> Чтоб вынести некоторую часть работы с рантайма на период NAS> компиляции. NAS> или чтоб сократить тупую писанину абсолютно однообразных NAS> фрагментов.

Многоуровневые макросы - весьма экзотический способ решения подобных проблем ввиду крайне скудных средств как этого макроязыка, так и средств отладки выражений на нем (это вообще бич почти всех подобных решений). Пример. Есть функция

typedef unsigned char byte; typedef unsigned int word;

/* NTC temperature sensor line approximation */

byte thermo(byte Vt_hs) { const struct {byte offset; byte slope;} table[] = {{119, 23}, {114, 27}, {107, 29}, { 99, 29}, { 92, 29}, { 85, 28}, { 78, 28}, { 71, 29}, { 63, 35}, { 54, 46}, { 43, 66}, { 26, 98}};

byte i, offset, slope;

if (Vt_hs < 64) return 120; /* Skip high temp approximation */ i = Vt_hs / 16 - 4; offset = table[i].offset; slope = table[i].slope; return (byte)(offset - ((word)(Vt_hs % 16)) * slope / 64); }

какие будут предложения по получению таблицы? Когда-то я такую таблицу сделал вручную, при помощи карандаша, линейки и миллиметровки. Потом шло время, что-то поменялось в железе, комплектующих и требованиях к точности, была проведена серия реальных измерений в термокамере, экспериментальные данные сведены в таблицу, обработаны в программе Mathematica, и получены полиномы, вполне приемлимо аппроксимирующие зависимость. Потом на С написана программка, которая по этому полиному генерирует таблицу, которая copy-paste'нута в тело этой функции. Разбитые на части выражения - последствия ручной оптимизации, помощь компилятору. И никаких макропроцессоров, и минимум вычислений в рантайм, и минимум кода в ПЗУ.

dima

formatting link

Члены Партии, Правительства и к ним приближённые. Ага.

Езжай в любую западную страну... Если найдёшь где и как там устроиться. За одно поинтересуешься ценами на жильё. Хотя, в принципе, я согласен, там вполне может быть дешевле чем в Москве или в Питере. Когда переберёшься -- пиши сюда отчёт что и как... интересно.

Сейчас телевизор стоит всего как 2-3 зарплаты. Я сказал нормальный современный телевизор, а не савецкий.

Ты может не поверишь. Hо если я сейчас пойду в Питере за водкой -- я её вообще не куплю. Т.е. может уговорю продать в мелком ларьке (в гипермаркете касса шибко электронная, не позволит), но пить такую точно не рискну.

Ибо если в СССР водки просто был дефицит, то сейчас какие-то там, извиняюсь за выражение, члены Партии и Правительства решают со скольки и до скольки я могу пить водку, а со скольки и доскольки не могу. Причём, в области тоже самое.

Это лучше стало? Это натурально беспредел и совок в худшей его форме. Завтра значит мне может быть ещё запретят кока-колу, а после завтра заставят носить оранжевые штаны и говорить ку.

DO>>>>>> Блин, Орлов, ну возил же я тебя уже мордой об стол на задачах DO>>>>>> реального времени года полтора назад, мало, еще хочешь?

DO>>>>> Мечтать не вредно, об стол ты елозил сам, так ничего путного DO>>>>> показать и не смог.

DO>>>> да вот тыж сам о стол елозишь мордой, в этом же письме:

DO>>> Это ты показываешь свое неумение решать задачу вцелом, а не DO>>> какой-то ее кусочек.

DO>> ставить после DAC потенциометр только потому что тупой программист DO>> не может этот потенциометр програмно реализовать, да и еще

DO> Hет, не потому, но тебе это врядли доступно для понимания.

DO>> предлагает прямо период вместо частоты и выдать на DAC?

DO> Если нужна частота, то может быть проще чатоту и померять. и на какой частоте у тебя будет идти измерение частоты, проффессор

:]

DO>> не проще ли уволить такого "программиста"?

DO> Что с тобой, собственно, и сделали. я со старой работы ушел а зарплату мне там платить продолжают подумай как это может быть. нет я там уже год совершенно не работаю (редкие консультации по телефону не в счет)

DO>>> Hи от чего я не отказывался, просто твои советы из серии вредных. DO>>> Потому ты и работаешь по другой специальности, а мечтаешь о еще DO>>> более простой работе, что и с этой не очень справляешься.

DO>> мне квалификация позволяет писать выбирать язык программирования в DO>> зависимости от задачи,

DO> А мне позволяет еще и саму задачу оптимизировать да да оно и видно как ты сразу бросился оптимизировать задачу типа воткнем подстроечник потому что программу написать не можем а теперь еще ляпнул про измерение частоты (/me очень бы хотелось узнать как ты частоту будешь измерять с частотой измерений равной этой частоте или удвоенной частоте)

DO>> поэтому зарабатывать могу столько сколько необходимо.

DO> Так мог бы, не плакался бы тут о своей неудовлетворенности работой, DO> зарплатой, страной и общим мироустройством. я работой и зарплатой удовлетворен. вот страной и общим мироустройством нет - слишком много ворья расплодилось которое даже не стыдится хвастаться по эхам о том как они хорошо тащат/тащили с работы и при этом к сожалению не отсидели

DO>>> Как правило, эти детали все равно уже есть в сопряжении выхода MCU DO>>> и аналоговой схемой. Вместо того, чтобы что-то в 32х разрядах DO>>> считать при 10разрядном результате, нужно только правильно их DO>>> выбрать или подобрать.

DO>> да да подобрать, пеши исчо!

DO> Да да, именно подобрать. Ты слишком далек от темы, что при твоей работе и DO> понятно, но может быть ты знаешь, что контроллеры часто используются для DO> управления всякими устройствами, в том числе и как элемент в замкнутом DO> контуре, в котором кроме него могут находиться элементы с неизвестными DO> заранее параметрами (часто это собственно объект управления) и единственный DO> способ обеспечить требуемые характеристики контура регулирования - это DO> _подобрать_ его параметры. я смеюсь не над подобрать, а над тем что подбираешь ты резисторы

DO>> классический случай: выпускается девайс на CPU, в какой-то момент DO>> времени оказалось что купить N кварцев по 12МГц вдвое дешевле чем N DO>> кварцев по 16МГц.

DO> Это классический случай радиолюбительства. нет это маркетинг. простой. и обратные связи на разработчика

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

DO> В "торпедах и ракетах" все еще жестче, там за такую деятельность могут не DO> только долларом наказать. ты просто не видел ни торпед ни ракет

... Терпеть не могу Умку, Броневичок и прочих мажоров.

MK>>>> :)

MK>>> Хай-Течь для пиков ничем не хуже, а местами и лучше ИАРа для АВРов.

MK>> и хай течь и иар по сравнению с GCC - полный отстой

MK> Обоснуй...(с) вот хоть взять поддержку стандартов обсуждаемую в соседней подветке.

... Подходи, буржуй, глазик выколю!

Там такие торгаши ещё появлялись в ~1992-93г. Потом магазин перешёл на бытовую технику и вообще закрылся. Торговля же радиодеталями на рынке (в Автово) активно велась до начала 2000-х, видимо потому, что раньше цивилизованный рынок электронных компонентов в Петербурге попросту отсутвовал. Да и сейчас, кроме ширпотреба -- всё за 2 (3-4-5-56-7-8...) недель. Проще с digikey связываться, IMHO.

KF>>> БК-1001 что ли? Который ещё и до ума доводить надо было. :) KF>> РК-86, сейчас меня полностью удовлетворяет Р3-500

KF> В загнивающем империализме в то время можно было купить нормальный KF> настольный комп вроде Commodore Amiga, вон почитай Линуса Торвальдса JFF всем коммюнити скидывались ему на комп просто потому что "один из ведущих программеров планеты не был в состоянии купить комп"

это первое

а второе - Р3-500 - это комп ~98-го года

KF> просто пойти в магазин и купить, непросто пойти в магазин, см опять же JFF

... Россия ныне ходит под Власовским флагом, позор!

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

Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 14 Oct

2008 20:49:31 +0400:

DO>>>>> Блин, Орлов, ну возил же я тебя уже мордой об стол на задачах DO>>>>> реального времени года полтора назад, мало, еще хочешь?

DO>>>> Мечтать не вредно, об стол ты елозил сам, так ничего путного DO>>>> показать и не смог.

DO>>> да вот тыж сам о стол елозишь мордой, в этом же письме:

DO>> Это ты показываешь свое неумение решать задачу вцелом, а не DO>> какой-то ее кусочек.

DEO> ставить после DAC потенциометр только потому что тупой программист DEO> не может этот потенциометр програмно реализовать, да и еще

Hет, не потому, но тебе это врядли доступно для понимания.

DEO> предлагает прямо период вместо частоты и выдать на DAC?

Если нужна частота, то может быть проще чатоту и померять.

DEO> не проще ли уволить такого "программиста"?

Что с тобой, собственно, и сделали.

DO>>> вот вот, поскольку ты, Торрес, отказался от изучения новых

DO>> Hи от чего я не отказывался, просто твои советы из серии вредных. DO>> Потому ты и работаешь по другой специальности, а мечтаешь о еще DO>> более простой работе, что и с этой не очень справляешься.

DEO> мне квалификация позволяет писать выбирать язык программирования в DEO> зависимости от задачи,

А мне позволяет еще и саму задачу оптимизировать и со стороны программы и со стороны железа. А языки программирования - не бог весть какая наука. Знаешь один, освоишь и другой, если это действительно нужно. Языки всяких макропроцессоров и интерпретаторов скриптов в том числе, хотя без них обычно можно обойтись.

DEO> поэтому зарабатывать могу столько сколько необходимо.

Так мог бы, не плакался бы тут о своей неудовлетворенности работой, зарплатой, страной и общим мироустройством.

DO>>> инструментов раз и навсегда, то реализация простых программок для DO>>> тебя оказывается сложна и ты предлагает ПАЯТЬ делители, вводить

DO>> Как правило, эти детали все равно уже есть в сопряжении выхода MCU DO>> и аналоговой схемой. Вместо того, чтобы что-то в 32х разрядах DO>> считать при 10разрядном результате, нужно только правильно их DO>> выбрать или подобрать.

DEO> да да подобрать, пеши исчо!

Да да, именно подобрать. Ты слишком далек от темы, что при твоей работе и понятно, но может быть ты знаешь, что контроллеры часто используются для управления всякими устройствами, в том числе и как элемент в замкнутом контуре, в котором кроме него могут находиться элементы с неизвестными заранее параметрами (часто это собственно объект управления) и единственный способ обеспечить требуемые характеристики контура регулирования - это _подобрать_ его параметры. И очень часто это удобнее всего делать, вращая движок потенциометра. Даже если потенциометер на другой канал АЦП заведен, хотя ничего зазорного нет и в том, чтобы поставить его в чисто аналоговой части.

DEO> очень приятно тебя читать, anekdot.ru остался насегодня DEO> непосещенным

DO>> Это уже твои измышления, ранее шла речь об отладке, а не DO>> калибровке.

DEO> это одно и то же.

Это совершенно разные вещи, но для скриптописателя не существенные.

DEO> классический случай: выпускается девайс на CPU, в какой-то момент DEO> времени оказалось что купить N кварцев по 12МГц вдвое дешевле чем N DEO> кварцев по 16МГц.

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

DEO> что делает Торрес? крутит подстроечник что делает нормальный DEO> человек? перестраивает прошивку изменив в ней 1 цифру и забывает о DEO> проблеме.

Hормальный человек покупает то, что написано в BOM, и ни Торресу ни Орлову даже не пытается морочить голову, потому что знает, что будет послан. А послан будет потому, что изменение прошивки - само по себе весьма затратно (процедура ее передачи в производство, да еще и с привязкой к текущему BOM), даже без учета того, что новый компонент в изделии вынуждает проводить если не все, то набор основных тестов, что стоит даже без учета времени как тысяч

10 таких кварцев, и как тысяч 100 разницы между одним и другим. А с учетом времени - так и вовсе легко сделает бессмысленной всю работу.

dima

formatting link

А я не смотрю и не скачиваю. Потому что ммне абсолютно пох сколько там гигапикселей и битов в говнопродукции голливуда. Будет зачем-то надо -- найду как скачать, купить, сходить в кинотеатр -- что проще, а не дешевле даже: умом можно серьёзно повредиться от регулярных просмотров ЭТОГО...

Так он и был как бы, планировался. Искра-2. Разумеется для членов, извиняюсь за выражение...

KF>>> Да этот ваш ГЦЦ -- говно и поделки финских студентов, там всё const KF>>> попадало в RAM... KF>> не все, большие таблицы отлично клались в Flash при помощи PROGMEM

KF> Hу да, закат солнца вручную. Ты ещё скажи КАК ОHИ ОТТУДА KF> ВЫТАСКИВАЛИСЬ. И почему такой код ни разу не переносимый. макросами а-ля функциями а на переносе заменялось теми же макросами

вот историю вопроса почему const так сделан не изучал, мне в общем пофиг было, ты знаешь?

... Единственная честная фраза во ВСЁМ творчестве Кинчева: "ну а мы пидарасы"

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required