[an error occurred while processing this directive] [an error occurred while processing this directive]
Я тоже "нарывался" на такую неприятность. Оказалось, что при старте (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Беня 28 января 2002 г. 17:27
В ответ на: СОМ-порт в ДОС-окне из под мастдая. отправлено Точка опоры 28 января 2002 г. 15:37

ДОС-ской программы на быстрых компьютерах под Windows 98 что-то неладное творится с регистрами асинхронного адаптера при чтении. Если раньше на медленных компьютерах и при ДОС-е я обычно вычитывал из всех регистров нули, то теперь - почему-то единицы!!! Т.е. если программа хочет что-то прочитать из регистра, поменять а затем снова записать (старое значение или модифицированное), то ничего не работало, потому как читались одни единички и если прочитанные значения снова записать в те же регистры, то устанавливались и разрешения прерываний (при принятии байта, после передачи байта, при BREAK, при изменении CTS, DSR, RI, DCD), устанавливался режим запуска диагностики (Digital Loopback test) и прочие "прелести".
Короче, напишите программу, которая при запуске считывает все регистры и показывает их на экране и запустите ее на "честном" компьютере и на быстром - и увидите разницу.
Выход - не восстанавливать все регистры, если они "бесчестные". Кроме того, программа может "понять" на нормальном она компьютере или нет (если у нее стоит режим диагностики в 1 - значит, она запущена на "нечестном" компьютере и восстанавливать регистры опасно).

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru