Программирование UART

Тема в разделе "WASM.ELECTRONICS", создана пользователем Saska, 2 мар 2005.

  1. Saska

    Saska New Member

    Публикаций:
    0
    Регистрация:
    2 мар 2005
    Сообщения:
    3
    Я столкнулся со слудующей проблемой при программировании модема: Я использую INT 14H для передачи и получения ответов модема на hayes-команды; после передачи первой команды вторая не воспринимается, если не считать этим же прерыванием ответ на первую. В документации написано, что все ответы модема имеют одинаковое окончание - символ возвра коретки, однако на практике это не подтверждается.

    Как же можно гарантировано получить все символы ответа?

    Если модем не подает символов порту, то через две секунды прерывание возвращает в регистр AL символ "`". Если при каждом ответе проверять регистр AL на этот символ то получаются громадные задержки.

    Будьте добры, помогите решить эту проблему.
     
  2. Chingachguk

    Chingachguk New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2002
    Сообщения:
    340
    Я не уверен, что использование этого прерывания есть легкий подход. Совсем не сложно вручную работать с линией, прерываниями и т.п. Если нужно, могу дать рабочий код под ДОС (си, асм, паскаль). Минимальные функции - получение и посылка блоков байт.
     
  3. Saska

    Saska New Member

    Публикаций:
    0
    Регистрация:
    2 мар 2005
    Сообщения:
    3
    Проблема в не в том, как посылать байты на последовательный порт или их считывать. Дло именно в работе с командами hayes-совместимого модема, спецификой ответов модема на команды.