Hадежный контроллер нужен........

Jul 27, 2006 Last reply: 19 years ago 886 Replies

Hello, Dimmy! You wrote to Andrej Arnold on Thu, 10 Aug 2006 10:02:45 +0600:

AV>>>> Я тоже не могу понять - чего они в дуплекс так вцепились? 8( DT>>> Из спортивного интереса, может? ;) AA>> А нахрена для полудуплекса три провода (с общим)? DT> Hапример, чтобы не морочиться с управлением направлением. Да и DT> потому, что "на другом конце" - обычный PC с обычным "COM-портом". Я просто неудачно выразился. То бишь реплика была в интонации, что интерес может быть и "неспортивный".

With best regards, Andrej Arnold. E-mail: snipped-for-privacy@aol.com

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, serge polish! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 10 Aug

2006 15:40:23 +0400:

DO>> А о чем? sp> о том, что было в этом сообщении немного ниже... ;) sp> о приеме/передаче на 115k.... на это что Вы скажете?

Ничего. У меня никогда не было в этом нужды.

dima

formatting link

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 10 Aug

2006 05:59:48 +0400:

KF>>> Это никак не препятствует их (не)инициализации.

DO>> В main()? Они там не видны.

DT> Статические переменные инициализируются в прологе, где бы ни были DT> описаны.

Ага, нулями. Что мне собственно и было нужно, потому я и не писал их инициализацию.

dima

formatting link

DT> Возьми, поставь и попробуй, если действительно интересно. 30-дневная версия DT> берётся с сайта бесплатно и лечится от 30-дневности. а мне негде ставить :) вендов в округе 100 компов нетути

DEO>> да вроде все просто: выходное напряжение в этом случае DEO>> пропорционально косинусу угла открытия, надо сперва линеаризовать DO>

DO> Hет конечно, никакому не косинусу. а блин, в реализациях вечно все переворачивается отсчитываем время открытия ведь от перехода напряжения через ноль, а там именно косинус :) тут вопрос что считать углом открытия ;)

DEO>> этот косинус (чтобы из регулировочной характеристики его DEO>> исключить), это вероятно опять таблицы будут, а потом сделать DEO>> простой пропорциональный или ПИ-регулятор температуры :) DO>

DO> Бог в помощь... Вообще-то, уж если есть регулятор, исключать из него DO> гладкие DO> функции совершенно не обязательно. Другое дело, что термостат так делать DO> несколько странно, звено постоянной и непредсказуемой задержки исключить DO> куда проблематичней регулировочной зарактеристики СИФУ. нелинейности из регуляторов исключать нужно их исключение позволит строить регуляторы с широченным диапазоном стабилизации, с отсутсвием перерегулирований как в начале диапазона так и в конце :)

хотя конечно в регулировках температуры можно на многое плевать. индуктивностей в тепловых схемах не бывает :)

AS>>> А с чего он должен "компилироваться"-то? AB>

DO>> а с того что седьмая версия HT-PIC такое еще не компилировала DO>> вполне допускаю что и сейчас еще те же проблемы DO>> вот и спрашиваю у тех кто пользуется сим компилятором так оно на самом DO>> деле или уже пофиксили? AB>

AB> Сомневаюсь, что это неисправность компилятора, чтоб ее фиксить. AB> Откуда ему известно, что вызовы foo() разнесены по времени ? AB> Что будет, если управление вернется (с востановлением старого контекста) AB> например, в i<1000, из прерывания, где "этот" цикл уже прошел ? AB> Компилятор для того и нужен, чтоб проблемы которые можно снять с AB> разработчика переложить на свои плечи.

с какой стати компилятор С должно волновать как я foo вызываю? он что взял на себя труд заниматься отслеживанием межпроцессного взаимодействя? что межпроцессное взаимодействие уже в стандарте С появилось? насколько я помню его даже в С++ отродясь не было.

Привет Dmitry!

10 Авг 06 года (а было тогда 22:29) Dmitry E. Oboukhov в своем письме к Andrey Bivshih писал:

DO> с какой стати компилятор С должно волновать как я foo вызываю?

А для чего тебе вообще компилятор ? Пиши на асме, там как хочешь можно.

DO> он что взял на себя труд заниматься отслеживанием межпроцессного DO> взаимодействя?

Повторяю, это потенциальный источник граблей, когда функций не 2 а 20, и между собой они сильно ветвяться, можно что-то упустить. А потом долго искать глюки, появляющиеся очень редко и асинхронно режимам работы девайса. А для 18 пиков, где 2 уровня прерываний, это еще важней. Что если твоя foo прервется на полуслове уже на втором вызове еще раз ?

DO> что межпроцессное взаимодействие уже в стандарте С появилось? DO> насколько я помню его даже в С++ отродясь не было.

Вот поэтому компилятор, даже и не пытается это делать.

А если в других компиляторах этого нет, значит разработчики просто забили на это дело.

С уважением, Andrey 10 Авг 06 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 10 Aug

2006 21:23:38 +0400:

DEO>>> да вроде все просто: выходное напряжение в этом случае DEO>>> пропорционально косинусу угла открытия, надо сперва линеаризовать

DO>> Hет конечно, никакому не косинусу.

DEO> а блин, в реализациях вечно все переворачивается отсчитываем время DEO> открытия ведь от перехода напряжения через ноль, а там именно DEO> косинус :) тут вопрос что считать углом открытия ;)

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

DEO>>> этот косинус (чтобы из регулировочной характеристики его DEO>>> исключить), это вероятно опять таблицы будут, а потом сделать DEO>>> простой пропорциональный или ПИ-регулятор температуры :)

DO>> Бог в помощь... Вообще-то, уж если есть регулятор, исключать из DO>> него гладкие функции совершенно не обязательно. Другое дело, что DO>> термостат так делать несколько странно, звено постоянной и DO>> непредсказуемой задержки исключить куда проблематичней DO>> регулировочной зарактеристики СИФУ.

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

Тут всей ширины от 0 до 180 градусов (для однофазной симисторной схемы). И не так уж резко меняется эта функция, которую ты косинусом обозвал неподумавши.

DEO> отсутсвием перерегулирований как в начале диапазона так и в конце :)

С неизвестным звеном постоянной задержки? Бог, повторяю, в помощь. Я бы не взялся.

DEO> хотя конечно в регулировках температуры можно на многое плевать. DEO> индуктивностей в тепловых схемах не бывает :)

Бывают вещи куда более неприятные, фазовый переход в нагреваемом объеме например... Или перенос вещества, тоже непредсказуемый (типа сквозняк).

dima

formatting link

Hello Dmitry.

Thu Aug 10 2006 21:11, Dmitry E Oboukhov wrote to me:

DT>> Возьми, поставь и попробуй, если действительно интересно. 30-дневная DT>> версия берётся с сайта бесплатно и лечится от 30-дневности. DEO> а мне негде ставить :) DEO> вендов в округе 100 компов нетути

И дома тоже? Маньяки... ну поставь VMWare. ;)

Dimmy.

Hello Andrey.

Thu Aug 10 2006 22:54, Andrey Bivshih wrote to Dmitry E. Oboukhov:

DO>> что межпроцессное взаимодействие уже в стандарте С появилось? DO>> насколько я помню его даже в С++ отродясь не было.

AB> Вот поэтому компилятор, даже и не пытается это делать.

А вот в Аде - есть! ;)

Dimmy.

DO>> с какой стати компилятор С должно волновать как я foo вызываю? AB>

AB> А для чего тебе вообще компилятор ? Пиши на асме, там как хочешь можно. очевидно для того чтобы компилировать а ты думал зачем?

DO>> он что взял на себя труд заниматься отслеживанием межпроцессного DO>> взаимодействя? AB>

AB> Повторяю, это потенциальный источник граблей, когда функций не 2 а 20, повторяю, когда функций не 2 а 20 код надо писать правильно. придерживаясь правила о том, что средняя глубина вложений вызовов в одном можуле должна быть 2-3

AB> и между собой они сильно ветвяться, можно что-то упустить. это дебил-программист скорее всего такое написал, сильное ветвление бывает оправдано край как редко

AB> А потом долго искать глюки, появляющиеся очень редко и асинхронно AB> режимам работы девайса. глюки будут не от реентабельности, а от стиля программирования

AB> А для 18 пиков, где 2 уровня прерываний, AB> это еще важней. Что если твоя foo прервется на полуслове уже на втором AB> вызове еще раз ? посмотри любой листинг что генерит компилер для PIC (я правда для 18-х не смотрел, но думаю там не много отличий), и посмотри какой пролог у функций с локальными переменными :) пролог очень даже приличный по объему :)

DO>> что межпроцессное взаимодействие уже в стандарте С появилось? DO>> насколько я помню его даже в С++ отродясь не было. AB>

AB> Вот поэтому компилятор, даже и не пытается это делать. а с какого фига не компилируется вышеприведенный пример?

Hello Dmitry.

Fri Aug 11 2006 07:14, Dmitry E Oboukhov wrote to Andrey Bivshih:

AB>> Повторяю, это потенциальный источник граблей, когда функций не 2 а AB>> 20, DEO> повторяю, когда функций не 2 а 20 код надо писать правильно. DEO> придерживаясь правила о том, что средняя глубина вложений вызовов в DEO> одном можуле должна быть 2-3

Жуть какая - так что, даже в 18-х пиках нормального стека нет?

Dimmy.

Hello Andrej.

Fri Aug 11 2006 12:24, Andrej Arnold wrote to me:

DT>> Гораздо чаще мастер даёт команды или запросы, а слейв отвечает. DT>> Что, как я понял, требуется и в обсуждаемой "конкурсной" задаче.

AA> Просто, как обычно, тред становится шире и независим от первоначальной AA> постановки вопроса.

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

AA> Если в данном случае, (кто-то это уже заметил, чтобы меня не обвиняли AA> в повторе;), что при использование компа "на другом конце", как ты AA> выразился, как-то смешно экономить на копеечном чипе, а если компа AA> нет, то почему не взять более удобный протокол обмена.

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

Dimmy.

Hello, Dimmy! You wrote to Andrej Arnold on Thu, 10 Aug 2006 15:42:02 +0600:

DT> Гораздо чаще мастер даёт команды или запросы, а слейв отвечает. DT> Что, как я понял, требуется и в обсуждаемой "конкурсной" задаче. Просто, как обычно, тред становится шире и независим от первоначальной постановки вопроса. Если в данном случае, (кто-то это уже заметил, чтобы меня не обвиняли в повторе;), что при использование компа "на другом конце", как ты выразился, как-то смешно экономить на копеечном чипе, а если компа нет, то почему не взять более удобный протокол обмена.

With best regards, Andrej Arnold. E-mail: snipped-for-privacy@aol.com

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Dmitry E. Oboukhov! You wrote in conference fido7.ru.embedded to Andrey Bivshih on Fri, 11 Aug

2006 07:14:13 +0400:

AB>> А для 18 пиков, где 2 уровня прерываний, это еще важней. Что если AB>> твоя foo прервется на полуслове уже на втором вызове еще раз ? DEO> посмотри любой листинг что генерит компилер для PIC (я правда для DEO> 18-х не смотрел, но думаю там не много отличий), и посмотри какой DEO> пролог у функций с локальными переменными :) DEO> пролог очень даже приличный по объему :)

А точнее, вообще никакого пролога. У него локальные переменные - перекрываемые глобальные. Откуда там пролог?

DO>>> что межпроцессное взаимодействие уже в стандарте С появилось? DO>>> насколько я помню его даже в С++ отродясь не было.

AB>> Вот поэтому компилятор, даже и не пытается это делать. DEO> а с какого фига не компилируется вышеприведенный пример?

Компилируется, я даже листинг приводил. Не дошло письмо?

dima

formatting link

Hi!

Сканированная книга "Микроконтроллеры 16-разрядные Flash семейства 16LX фирмы Fujitsu" справочное пособие, Москва 2004г пока лежит тут:

ftp://relay.cca.usart.ru/pub/hardware/Fujitsu/.temporary_Fujitsu/fujitsu_mcu_16lx.rar [size 36M]

_______ Сергей.

DT>>> Возьми, поставь и попробуй, если действительно интересно. 30-дневная DT>>> версия берётся с сайта бесплатно и лечится от 30-дневности. DEO>> а мне негде ставить :) DEO>> вендов в округе 100 компов нетути DT>

DT> И дома тоже? дома в первую очередь :)

DT> Маньяки... ну поставь VMWare. ;) да ну, я лучше подожду, врдруг из здешних у кого дойдут руки пример скомпилить попробовать :)

AB>>> А для 18 пиков, где 2 уровня прерываний, это еще важней. Что если AB>>> твоя foo прервется на полуслове уже на втором вызове еще раз ? DEO>> посмотри любой листинг что генерит компилер для PIC (я правда для DEO>> 18-х не смотрел, но думаю там не много отличий), и посмотри какой DEO>> пролог у функций с локальными переменными :) DEO>> пролог очень даже приличный по объему :) DO>

DO> А точнее, вообще никакого пролога. У него локальные переменные - DO> перекрываемые глобальные. Откуда там пролог? то есть все переменные статические? крутой процессор PIC ничего не скажешь :)

DO>>>> что межпроцессное взаимодействие уже в стандарте С появилось? DO>>>> насколько я помню его даже в С++ отродясь не было. DO>

AB>>> Вот поэтому компилятор, даже и не пытается это делать. DEO>> а с какого фига не компилируется вышеприведенный пример? DO>

DO> Компилируется, я даже листинг приводил. Hе дошло письмо? гхм нет не дошло :(

DO>>> А точнее, вообще никакого пролога. У него локальные DO>>> переменные - перекрываемые глобальные. Откуда там пролог? DO>

DEO>> то есть все переменные статические? DO>

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

раньше пролог был приличный и функции реентабельные только вот вспомнить бы чем это я их компилировал? хм

впрочем уже не особо и важно

DEO>> крутой процессор PIC ничего не скажешь :) DO>

DO> Ценен он совсем не этим. а чем? при той же или большей чем у AVR цене в четверо ниже производительность и ресурсов меньше

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

там же интегрировать надо (U sin wt) в квадрате.

интеграл соответственно от угла открывания до пи (или от пи минус угол открывания до пи, в зависимости от того что считать углом открывания)

синус только тот который в точке пи съедается а тот который в начальной точке интегрирования у тебя куда делся?

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required