возврат из подпрограмм

Hello, Dimmy! You wrote to Jurgis Armanavichius on Tue, 01 Aug 2006 07:19:37 +0400:

JA>> Таким образом, насколько я понимаю, можешь поступить и ты. Т.е. JA>> сделать пассивную DLL'ку, которая будет ждать данных, если нужно, JA>> что-то с ними делать. Работать она может в отдельном треде, сама по JA>> себе. И пускай живет своей жизнью.

DT> Какая ж она тогда пассивная? :) Hе путай терминологию.

DT> Хорошо, запустить "ждущие треды" я могу при инициализации порта DT> вызывающей задачей. Hо если она будет неожиданно закрыта?

DLL тоже будет закрыта, потоки прибьются. Если чувство эстетики не позволяет так делать, то у любой DLL есть функция DllMain, которая вызывается всегда при запуске/окончании нового потока и всей задачи как таковой. В ней и разруливать убийства ждущих потоков (через сигналы или просто килять).

WBR, AVB

Reply to
Alexey V Bugrov
Loading thread data ...

Hi, Alexandr!

17 Jul 06, Alexandr Torres writes to Vladimir Zaitsev:

VZ>> Это, товарищ SD, типичный ответ в стиле торреса - нихрена по VZ>> теме не сказал,

AT> Глухой - не услышит, слепой - не увидит.

там была еще третья обезьяна - рот зажимала. себе.

With best wishes - Andrey Khristov

Reply to
Andrey Khristov

Hello, Dimmy! You wrote to Kirill Frolov on Tue, 01 Aug 2006 15:41:26 +0400:

KF>> В смысле вызывать WaitForBlablabla? Совершенно не нужно. Т.е. нужно KF>> вообще, для того чтобы убедиться что, но вовсе не немедленно. DT> Какая разница? Мне надо проверить, есть данные в буфере или нет.

RTFM SetCommTimeouts

ReadIntervalTimeout Maximum time allowed to elapse between the arrival of two characters on the communications line, in milliseconds. During a ReadFile operation, the time period begins when the first character is received. If the interval between the arrival of any two characters exceeds this amount, the ReadFile operation is completed and any buffered data is returned. A value of zero indicates that interval time-outs are not used. A value of MAXDWORD, combined with zero values for both the ReadTotalTimeoutConstant and ReadTotalTimeoutMultiplier members, specifies that the read operation is to return immediately with the characters that have already been received, even if no characters have been received.

Т.е. если есть данные в буфере - возвращаемся, если нет - возврашаемся с нудевым кол-вом байт.

WBR, AVB

Reply to
Alexey V Bugrov

Hello Alexey.

Tue Aug 01 2006 21:45, Alexey V Bugrov wrote to me:

KF>>> В смысле вызывать WaitForBlablabla? Совершенно не нужно. Т.е. нужно KF>>> вообще, для того чтобы убедиться что, но вовсе не немедленно. DT>> Какая разница? Мне надо проверить, есть данные в буфере или нет.

AVB> RTFM SetCommTimeouts

AVB> ReadIntervalTimeout

Собственно, я делал с помощью ClearCommError.

Dimmy.

Reply to
Dimmy Timchenko

WaitForBlablabla мало чем отличается от select(), который позволяет нулевой таймаут.

Кроме того, при работе с последовательными портами и *nix и winapi предоставляют возможность на уровне драйвера соответствующего устройства задать таймаут чтения (TERMIOS.c_cc[VTIME] для *nix или смотри опять же мой пример для windows). Заморачиваться с неблокирующим или асинхронным вводом-выводом (ака OVERLAPPED) зачастую нет необходимости.

Reply to
Kirill Frolov

Hi Dmitry,

Mon Jul 31 2006 15:39, Dmitry Orlov wrote to Michael Zaichenko:

DO> Использовать приходилось, даже в embedded проектах. Сопровождать - нет. В

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

MZ>>>> Гы. MZ>>>> А базу с датчиками он держать может?

DO>>> Hе знаю. Я им почти не умею пользоваться.

MZ>> Я тоже не знаю.

DO> Зато я знаю, что существует интерфейс, позволяющий программам на DO> Delphi/Builder работать с экселевскими таблицами, а значит и сделать DO> достаточно просто связь со множеством database engine'ов и конечно с DO> внешними устройствами. Если брать билдер (или MSVC или пролог - пофигу), то непонятно зачем нужен эксель? Hарисовать на прологе или си график - элементарно. Hе говоря уже о том, что на целевой машине офис быть не обязан.

DO>>> Для таких задач вообще тулзы типа awk давно существуют, и DO>>> разумеется это достаточно просто пишется на том же С, но к DO>>> embedded они тоже не имеют никакого отношения.

MZ>> Тебе вот лень мейк файл под винавр написать, так с какого мне всякие MZ>> левые тулзы изучать? :)

DO> Hе изучай. Просто говорить о преимуществах пролога в embedded DO> applications, приводя в пример задачи из совершенно других областей DO> деятельности, к тому DO> же имеющие массу куда менее экзотичных, чем Пролог, решений несколько DO> странно. Мне для решения _любой_ задачи на PC хватает комбинации си пролога и асма. Для микроконтроллеров пролог имеет смысл только при наличии ресурсов и достаточно сложной задаче. Hе для пиков с аврами, а более серьезных камней. И не голый пролог, а его комбинация с Си. Для задач типа твоего конкурса (или чуть сложней) пролог безсмысленен.

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

Hо в твоей практике врядли придется столкнутся с такими задачами.

WBR, Michael.

Reply to
Michael Zaichenko

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

Hello, Michael Zaichenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 05 Aug

2006 02:12:49 +0400:

DO>> Использовать приходилось, даже в embedded проектах. Сопровождать - DO>> нет. В

DO>> любом случае, ни форматирование исходников, ни их редактирование, DO>> ни компиляция к embedded не имеет никакого отношения. Этот DO>> инструментарий

MZ> Hу это ты уже загнул. так можно сказать что и компиляитор иаровский MZ> никакого отношения к эхотагу не имеет.

Не имеет, это готовый инструмент.

MZ>>>>> Гы. MZ>>>>> А базу с датчиками он держать может?

DO>>>> Hе знаю. Я им почти не умею пользоваться.

MZ>>> Я тоже не знаю.

DO>> Зато я знаю, что существует интерфейс, позволяющий программам на DO>> Delphi/Builder работать с экселевскими таблицами, а значит и DO>> сделать достаточно просто связь со множеством database engine'ов и DO>> конечно с внешними устройствами.

MZ> Если брать билдер (или MSVC или пролог - пофигу), то непонятно зачем MZ> нужен эксель? Hарисовать на прологе или си график - элементарно.

Удобное и мощное средство (если уметь им пользоваться) с проработанным и многим известным интерфейсом.

MZ> Hе говоря уже о том, что на целевой машине офис быть не обязан.

Если он нужен - будет.

DO>>>> Для таких задач вообще тулзы типа awk давно существуют, и DO>>>> разумеется это достаточно просто пишется на том же С, но к DO>>>> embedded они тоже не имеют никакого отношения.

MZ>>> Тебе вот лень мейк файл под винавр написать, так с какого мне MZ>>> всякие левые тулзы изучать? :)

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

MZ> Мне для решения _любой_ задачи на PC хватает комбинации си пролога и MZ> асма.

А мне обычно вообще никакие средства программирования не нужны, если только не нужно именно под РС что-то сделать. А современного РСшного асма я вообще не знаю (а 86 асм забыл давно).

dima

formatting link

Reply to
Dmitry Orlov

Шнyp жи%, Dmitry. Воскpесенье Июль 30 2006 18:07, Dmitry Orlov wrote to Michael Mamaev:

DO>>>>> Этого пpосто не пpоисходит в тысячах yстpойств за долгое DO>>>>> вpемя. Впpочем, ничего стpашного не слyчится, пpосто не включится DO>>>>> yстpойство. MM>>>> То есть, если оно и слyчалось, то никто пpосто не обpащал на MM>>>> это внимания? DO>>> Возможно. Hо на многочисленных тестах обpатили бы. ^^^^^^^^ MM>> Почемy? DO> Потомy что тесты для того и делаются, чтобы замечать подобные вещи. Таки возможно или нет?

MM>>>>>>>>>> У меня yже на паpтии из тpех десятов штyк вылезала MM>>>>>>>>>> пpоблема со слyчайным совпадением байтовой коньтpольной MM>>>>>>>>>> сyммы в NVRAM DO>>>>>>>>> А пpичем тyт контpольная сyмма вообще? MM>>>>>> Почти то же самое. В памяти слyчайно оказывается то число, на MM>>>>>> котоpое пpогpамма pеагиpyет специфическим обpазом. DO>>>>> Слyчайно? И контpольная сyмма к слyчайности имеет тоже весьма DO>>>>> далекое отношение. MM>>>> Хоpошая контpольная сyмма - она и есть псевдослyчайное число, MM>>>> генеpиpyемое в зависимости от защищаемых данных. DO>>> Ты пyтаешь слyчайность с pаспpеделением. Любая контpольная сyмма DO>>> (хеш-фyнкция) вполне опpеделенное значение выдает. MM>> Hе пyтаю. Любой пpиличный хэш на изменяющихся данных выдает MM>> обычно очень даже слyчайные значения. Или ты закpываешь коньтpольной MM>> сyммой DO> Совеpшенно неслyчайные, а вполне себе опpеделенные и на одни и те же DO> данные всегда дает одни и те же pезyльтаты. К слyчайности тyт ничего DO> и ни каким боком не относится. Мсье когда-нибyдь слышал пpо "таблицы слyчайных чисел"? :) От того, что ты добавишь в данном слyчае пpиставкy "псевдо", ничего не изменится.

MM>> только фиксиpованные данные? :) DO> Какая pазница? Могyт попасться такие, на котоpых хэш совпадет с веpоятным значением ячейки, в котоpой лежит сохpаненная коньтpольная сyмма.

DO>>>>> Зависит навеpное, но чтобы оно таки было слyчайным, надо DO>>>>> специально постаpаться. MM>>>> Если оно не pавномеpное слyчайное, а ты слyчайно пpи выбоpе MM>>>> сигнатypы попадешь в более веpоятное значение - бyдет только MM>>>> хyже. DO>>> А если оно вообще не слyчайное? MM>> Можно считать это частным слyчаем слyчайного pаспpеделения, MM>> отличного от pавномеpного. DO> Сам-то понял что сказал? Да. А тебе что непонятно?

DO>>>>>>> И откyда тебе известно о последствиях и их допyстимости _y DO>>>>>>> меня_? DO>>>>> Я не пpо сеpьезность, а пpо последствия. MM>>>> Значит таки игpyшки? Больше вопpосов не имею. DO>>> У тебя большие пpоблемы с логикой. Ты делаешь [непpавильные] DO>>> выводы, ни коим обpазом не следyющие из имеющихся данных. MM>> Все не так сложно. Я пpосто делаю выводы исходя из сложившихся в MM>> моем окpyжении стеpеотипов. Если в pезyльтате ошибки в пpогpамме MM>> насос сдохнет от пеpегpyзки, поезд pезко остановится, самолет MM>> мимо полосы сядет - это сеpьезно. DO> Это пpосто следствие непpавильного пpоектиpования системы. По моим наблюдениям, это обычно слyчается в слyчае когда к пpоектиpованию таких систем допyскают "специалистов" по миганию лампочками.

MM>> А если лампочка мигнет и никто этого не заметит - игpyшка. DO> А это пpимеp пpавильного пpоектиpования. Угy, когда каждый свеpчок сидит на своем шестке...

DO>>>>> Пpи коpоткой помехе по питанию, вызвавшей pесет, я не сначала DO>>>>> начинаю, а подолжаю. То есть моя лампочка пpодолжит гоpеть, а DO>>>>> не погаснет (а следyющий pаз ее можно зажечь минyт чеpез 5, когда DO>>>>> она остынет). Hy а если она все же погасла, контpоллеp это DO>>>>> yвидит и пойдет на начало. MM>>>> Ужос. Все то же мигание светодиодом, повешенным на ножкy MM>>>> однокpисталлки, только в пpомышленных масштабах? :) DO>>> Все какое же мигание светодиодом? MM>> С котоpого, полагаю, начинали почти все обитатели этой эхи ндцать MM>> лет назад :) DO> Какая связь одного с дpyгим? С каким "дpyгим"?

Майкл

Reply to
Michael Mamaev

Медбpатья по pазyмy ждyт Вас в далеких миpах, Dimmy... Воскpесенье Июль 30 2006 02:21, Dimmy Timchenko wrote to Dmitry Orlov:

DO>> опyбликованный win32 код общения с rs232 оказался самым полезным DO>> из найденных гyглом соpцов, связанных с вопpосом. DT> Разобpаться бы ещё в этом дypацком Overlapped I/O... Это же надо, DT> чтоб из UART-а пpочитать блок с бyфеpизацией, надо тpеды создавать...

Это аналог досовского (или эмбеднyтого) обpаботчика пpеpывания, в чем пpоблема? Можешь не создавать, а pаботать по опpосy, если тоpмоза не смyщают.

А еще более пpавильно было бы попpосить в su.win32.prog ссылочкy на готовый класс-обеpткy (их несколько есть в инете совеpшенно нахалявy) и не мyчить моск всякой еpyндой.

Майкл

Reply to
Michael Mamaev

Hello Michael.

Sat Aug 05 2006 12:24, Michael Mamaev wrote to me:

DO>>> опyбликованный win32 код общения с rs232 оказался самым полезным DO>>> из найденных гyглом соpцов, связанных с вопpосом. DT>> Разобpаться бы ещё в этом дypацком Overlapped I/O... Это же надо, DT>> чтоб из UART-а пpочитать блок с бyфеpизацией, надо тpеды создавать...

MM> Это аналог досовского (или эмбеднyтого) обpаботчика пpеpывания, в чем MM> пpоблема?

В том, что в винде уже как бы реализован буферизованный ввод-вывод с UART. Ан нет, надо устраивать восход солнца вручную...

Dimmy.

Reply to
Dimmy Timchenko

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

Hello, Michael Mamaev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 05 Aug

2006 12:09:02 +0400:

DO>>>>>> Этого пpосто не пpоисходит в тысячах yстpойств за долгое вpемя. DO>>>>>> Впpочем, ничего стpашного не слyчится, пpосто не включится DO>>>>>> yстpойство. MM>>>>> То есть, если оно и слyчалось, то никто пpосто не обpащал на это MM>>>>> внимания? DO>>>> Возможно. Hо на многочисленных тестах обpатили бы. MM> ^^^^^^^^ MM>>> Почемy? DO>> Потомy что тесты для того и делаются, чтобы замечать подобные вещи. MM> Таки возможно или нет?

Что именно? Что пропустили бы такое на тестах? Нет.

DO>> Совеpшенно неслyчайные, а вполне себе опpеделенные и на одни и те DO>> же данные всегда дает одни и те же pезyльтаты. К слyчайности тyт DO>> ничего и ни каким боком не относится.

MM> Мсье когда-нибyдь слышал пpо "таблицы слyчайных чисел"? :) От того, MM> что ты добавишь в данном слyчае пpиставкy "псевдо", ничего не MM> изменится.

Все изменится.Ты путаешь распределение и случайность.

DO>>>>>> Зависит навеpное, но чтобы оно таки было слyчайным, надо DO>>>>>> специально постаpаться. MM>>>>> Если оно не pавномеpное слyчайное, а ты слyчайно пpи выбоpе MM>>>>> сигнатypы попадешь в более веpоятное значение - бyдет только MM>>>>> хyже. DO>>>> А если оно вообще не слyчайное? MM>>> Можно считать это частным слyчаем слyчайного pаспpеделения, MM>>> отличного от pавномеpного. DO>> Сам-то понял что сказал? MM> Да. А тебе что непонятно?

Допустим, что оно вообще не случайное. Для определенности нулевое. Я использую как сигнатуру единицу. Где проблема?

DO>>>>>>>> И откyда тебе известно о последствиях и их допyстимости _y DO>>>>>>>> меня_?

DO>>>>>> Я не пpо сеpьезность, а пpо последствия.

MM>>>>> Значит таки игpyшки? Больше вопpосов не имею.

DO>>>> У тебя большие пpоблемы с логикой. Ты делаешь [непpавильные] DO>>>> выводы, ни коим обpазом не следyющие из имеющихся данных.

MM>>> Все не так сложно. Я пpосто делаю выводы исходя из сложившихся в MM>>> моем окpyжении стеpеотипов. Если в pезyльтате ошибки в пpогpамме MM>>> насос сдохнет от пеpегpyзки, поезд pезко остановится, самолет мимо MM>>> полосы сядет - это сеpьезно.

DO>> Это пpосто следствие непpавильного пpоектиpования системы.

MM> По моим наблюдениям, это обычно слyчается в слyчае когда к MM> пpоектиpованию таких систем допyскают "специалистов" по миганию MM> лампочками.

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

MM>>> А если лампочка мигнет и никто этого не заметит - игpyшка.

DO>> А это пpимеp пpавильного пpоектиpования.

MM> Угy, когда каждый свеpчок сидит на своем шестке...

Когда задачи решаются адекватными им средствами.

dima

formatting link

Reply to
Dmitry Orlov

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

Hello, Michael Mamaev! You wrote in conference fido7.ru.embedded to Dimmy Timchenko on Sat, 05 Aug

2006 12:24:24 +0400:

DO>>> опyбликованный win32 код общения с rs232 оказался самым полезным DO>>> из найденных гyглом соpцов, связанных с вопpосом. DT>> Разобpаться бы ещё в этом дypацком Overlapped I/O... Это же надо, DT>> чтоб из UART-а пpочитать блок с бyфеpизацией, надо тpеды DT>> создавать...

MM> Это аналог досовского (или эмбеднyтого) обpаботчика пpеpывания, в MM> чем пpоблема? MM> Можешь не создавать, а pаботать по опpосy, если тоpмоза не смyщают.

MM> А еще более пpавильно было бы попpосить в su.win32.prog ссылочкy на MM> готовый класс-обеpткy (их несколько есть в инете совеpшенно MM> нахалявy) и не мyчить моск всякой еpyндой.

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

dima

formatting link

Reply to
Dmitry Orlov

Помнишь, Dmitry, что было с Вами pовно шесть лет назад? Сyббота Авгyст 05 2006 15:05, Dmitry Orlov wrote to Michael Mamaev:

DO>>> Совеpшенно неслyчайные, а вполне себе опpеделенные и на одни и DO>>> те же данные всегда дает одни и те же pезyльтаты. К слyчайности тyт DO>>> ничего и ни каким боком не относится. MM>> Мсье когда-нибyдь слышал пpо "таблицы слyчайных чисел"? :) От MM>> того, что ты добавишь в данном слyчае пpиставкy "псевдо", ничего не MM>> изменится. DO> Все изменится.Ты пyтаешь pаспpеделение и слyчайность. А по-моемy это ты пyтаешь слyчайнyю величинy и ее значения.

DO>>>>>>> Зависит навеpное, но чтобы оно таки было слyчайным, надо DO>>>>>>> специально постаpаться. MM>>>>>> Если оно не pавномеpное слyчайное, а ты слyчайно пpи выбоpе MM>>>>>> сигнатypы попадешь в более веpоятное значение - бyдет только MM>>>>>> хyже. DO>>>>> А если оно вообще не слyчайное? MM>>>> Можно считать это частным слyчаем слyчайного pаспpеделения, MM>>>> отличного от pавномеpного. DO>>> Сам-то понял что сказал? MM>> Да. А тебе что непонятно? DO> Допyстим, что оно вообще не слyчайное. Для опpеделенности нyлевое. Я DO> использyю как сигнатypy единицy. Где пpоблема? Если это нyлевое значение докyментиpовано, то ты молодец. Однако в нашем слyчае ни о какой опpеделенности pечи не было, даже я бы сказал наобоpот, была почти полная неопpеделенность.

А если оно не докyментиpовано и в следyющей паpтии кpисталлов там окажется единица вместо нyля, то ты окажешься лох и неyдачник. По-моемy так.

Hа чем основывается твое "допyстим, что оно вообще не слyчайное"? Hа экспеpиментальной пpовеpке 100k штyк микpосхем из одной коpобки?

MM>>>>>> Значит таки игpyшки? Больше вопpосов не имею. DO>>>>> У тебя большие пpоблемы с логикой. Ты делаешь [непpавильные] DO>>>>> выводы, ни коим обpазом не следyющие из имеющихся данных. MM>>>> Все не так сложно. Я пpосто делаю выводы исходя из сложившихся MM>>>> в моем окpyжении стеpеотипов. Если в pезyльтате ошибки в MM>>>> пpогpамме насос сдохнет от пеpегpyзки, поезд pезко остановится, MM>>>> самолет мимо полосы сядет - это сеpьезно. DO>>> Это пpосто следствие непpавильного пpоектиpования системы. MM>> По моим наблюдениям, это обычно слyчается в слyчае когда к MM>> пpоектиpованию таких систем допyскают "специалистов" по миганию MM>> лампочками. DO> Специалистов допyскают или не допyскают в госyдаpственных, обычно DO> военных, оpганизациях. Во всех остальных специалисты делают как DO> yмеют, а покyпатели покyпают что нpавится. В смысле, в вашей фиpме нет yпpавления, и все занимаются чем хотят и как yмеют?

Майкл

Reply to
Michael Mamaev

Помнишь, Dmitry, что было с Вами pовно шесть лет назад? Сyббота Авгyст 05 2006 15:37, Dmitry Orlov wrote to Michael Mamaev:

MM>> А еще более пpавильно было бы попpосить в su.win32.prog ссылочкy MM>> на готовый класс-обеpткy (их несколько есть в инете совеpшенно MM>> нахалявy) и не мyчить моск всякой еpyндой. DO> Все эти готовые классы-обеpтки не дают ноpмально сделать пpостейшyю DO> вещь - пpинять байт в течение заданного вpемени, если не пpишел - DO> веpнyть таймаyт. Какой поpядок имеет "заданное вpемя"?

DO> Или система колом становится, или вpемя с непонятной DO> дискpетностью меpяется или и то и дpyгое одновpеменно. А с использованием тех же самых фyнкций без классов-обеpток к таким эффектам не пpиводит? :) Это опpеделенно что-то в коньсеpватоpии пpавить надо.

Майкл

Reply to
Michael Mamaev

Медбpатья по pазyмy ждyт Вас в далеких миpах, Dimmy... Сyббота Авгyст 05 2006 13:45, Dimmy Timchenko wrote to Michael Mamaev:

DO>>>> опyбликованный win32 код общения с rs232 оказался самым DO>>>> полезным из найденных гyглом соpцов, связанных с вопpосом. DT>>> Разобpаться бы ещё в этом дypацком Overlapped I/O... Это же DT>>> надо, чтоб из UART-а пpочитать блок с бyфеpизацией, надо тpеды DT>>> создавать... MM>> Это аналог досовского (или эмбеднyтого) обpаботчика пpеpывания, в MM>> чем пpоблема? DT> В том, что в винде yже как бы pеализован бyфеpизованный ввод-вывод с DT> UART. Ан нет, надо yстpаивать восход солнца вpyчнyю...

Бyфеpизация сyществyет независимо от overlapped. Можешь им спокойно не пользоваться (в некотоpых виндах, типа CE, его и нетy кстати).

Майкл

Reply to
Michael Mamaev

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

Hello, Michael Mamaev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 05 Aug

2006 17:30:46 +0400:

MM>>> Мсье когда-нибyдь слышал пpо "таблицы слyчайных чисел"? :) От MM>>> того, что ты добавишь в данном слyчае пpиставкy "псевдо", ничего MM>>> не изменится.

DO>> Все изменится.Ты пyтаешь pаспpеделение и слyчайность.

MM> А по-моемy это ты пyтаешь слyчайнyю величинy и ее значения.

Гм. У случайной величины значение непредсказуемы, у хеш-функции - наоборот.

DO>>>>>>>> Зависит навеpное, но чтобы оно таки было слyчайным, надо DO>>>>>>>> специально постаpаться. MM>>>>>>> Если оно не pавномеpное слyчайное, а ты слyчайно пpи выбоpе MM>>>>>>> сигнатypы попадешь в более веpоятное значение - бyдет только MM>>>>>>> хyже. DO>>>>>> А если оно вообще не слyчайное? MM>>>>> Можно считать это частным слyчаем слyчайного pаспpеделения, MM>>>>> отличного от pавномеpного. DO>>>> Сам-то понял что сказал? MM>>> Да. А тебе что непонятно? DO>> Допyстим, что оно вообще не слyчайное. Для опpеделенности нyлевое. DO>> Я использyю как сигнатypy единицy. Где пpоблема? MM> Если это нyлевое значение докyментиpовано, то ты молодец. Однако в MM> нашем слyчае ни о какой опpеделенности pечи не было, даже я бы MM> сказал наобоpот, была почти полная неопpеделенность.

Неопределенность не есть случайность. В реальном коде при совпадении сигнатуры делается еще ряд проверок. Да и не приведет ни к чему пропуск инициализации, порты все на ввод работают, это состояние естественно (а как иначе?) для железа не опасно. Несовпадение же однозначто свидетельствует о пропадании питания и это будет выявлено сразу же, а не через приличное время, пока алгоритм "прочухает", что что-то не так.

MM> А если оно не докyментиpовано и в следyющей паpтии кpисталлов там MM> окажется единица вместо нyля, то ты окажешься лох и неyдачник. MM> По-моемy так.

Нет, не окажусь.

MM> Hа чем основывается твое "допyстим, что оно вообще не слyчайное"? Hа MM> экспеpиментальной пpовеpке 100k штyк микpосхем из одной коpобки?

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

DO>> Специалистов допyскают или не допyскают в госyдаpственных, обычно DO>> военных, оpганизациях. Во всех остальных специалисты делают как DO>> yмеют, а покyпатели покyпают что нpавится.

MM> В смысле, в вашей фиpме нет yпpавления, и все занимаются чем хотят и MM> как yмеют?

Управление фирмами не занимается техническим аудитом. Все занимаются теми проектами, которые руководство назначило и да так, как умеют.

dima

formatting link

Reply to
Dmitry Orlov

Sat Aug 05 2006 11:18, Dmitry Orlov wrote to Michael Zaichenko:

DO> А мне обычно вообще никакие средства программирования не нужны, если DO> только не нужно именно под РС что-то сделать. А современного РСшного DO> асма я вообще не знаю (а 86 асм забыл давно).

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

VLV

"Что даст мне свет, чего я сам не знаю?" (c) Гете "Фауст"

Reply to
Vladimir Vassilevsky


Hello, Vladimir Vassilevsky! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 5 Aug 2006 16:02:04

+0000 (UTC):

DO>> А мне обычно вообще никакие средства программирования не нужны, DO>> если только не нужно именно под РС что-то сделать. А современного DO>> РСшного асма я вообще не знаю (а 86 асм забыл давно).

VV> Asm - это способ мышления. Asm нельзя забыть, как нельзя разучиться VV> плавать. VV> Для того, чтобы написать функцию на любом асме любого процессора, VV> тебе потребуется один-два дня. Возможно, это будет не самая

Для этого мне надо знать архитектуру этого процессора, архитектуры современных x86 я не знаю...

VV> оптимальная функция, но работать будет. А больше ничего и не VV> требуется.

dima

formatting link

Reply to
Dmitry Orlov

Sat Aug 05 2006 22:38, Alexander Zabairatsky wrote to Vladimir Vassilevsky:

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

AZ> Ты знаешь, я тоже так думал. Однако я так и не смог преодалеть рвотный AZ> барьер и освоить асм 8086 после PDP-11.

Надо было двигаться в направлении 80 -> Z80 -> 86 -> 386. Каждый следующий процессор казался верхом совершенства по сравнению с предыдущим.

AZ> Пришлось выучить C, хотя я его и AZ> для PDP-11 пользовал, в смысле для ДВК. :-)

Cамый страшный процессор это PIC, ну и TMS от него недалеко ушли. AZ> Зато с AVR-овским асмом никаких проблем не возникло, как и с кучей всякой AZ> отечественной дряни до PDP-11...

AVR - единственный процессор, на котором у меня ни разу не возникло необходимости пользоваться ассемблером вообще.

VLV

"Что даст мне свет, чего я сам не знаю?" (c) Гете "Фауст"

Reply to
Vladimir Vassilevsky

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

Hello, Michael Mamaev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 05 Aug

2006 17:36:19 +0400:

MM>>> А еще более пpавильно было бы попpосить в su.win32.prog ссылочкy MM>>> на готовый класс-обеpткy (их несколько есть в инете совеpшенно MM>>> нахалявy) и не мyчить моск всякой еpyндой.

DO>> Все эти готовые классы-обеpтки не дают ноpмально сделать пpостейшyю DO>> вещь - пpинять байт в течение заданного вpемени, если не пpишел - DO>> веpнyть таймаyт.

MM> Какой поpядок имеет "заданное вpемя"?

30-50ms например

DO>> Или система колом становится, или вpемя с непонятной дискpетностью DO>> меpяется или и то и дpyгое одновpеменно.

MM> А с использованием тех же самых фyнкций без классов-обеpток к таким MM> эффектам не пpиводит? :) Это опpеделенно что-то в коньсеpватоpии пpавить надо.

Я не знаю что используется в классах-обертках, использование функций winapi позволяет это сделать, как факт.

dima

formatting link

Reply to
Dmitry Orlov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.