информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsЗа кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hardware
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[asm]ну хоть кто то мне поможет? непонятка с ком портом. помогите умоляю. 01.06.01 01:34  
Автор: помогите Статус: Незарегистрированный пользователь
<"чистая" ссылка>
есть 2 компа. компьютер А и компьютер В.
А более производительный чем В. задача передать данные с компьютера А
на компьютер В через ком порт (последовательный порт). итак идет передача с А на В. но возникает проблемма: с А бедут послан символ он запишется в буфет изза того что В менее производительная манина она может не успеть прочесть посланное А значение изза того что А пошлет еще символ который запишется в тот же буфер (поверх ранее посланного мимвола).
надеюсь что мая проблема вам понятно.
Пpеpывание BIOS 14H, утилита 3 используется для контpоля состояния поpта. Утилита оpганизует контpоль состояния поpта, специфициpованного содеpжимым pегистpа DX. После возвpата из состояния, опpеделяемым пpеpыванием, pегистpы АН(канал связи) и AL(модем) будут содеpжать значения, опpеделяющие в соответствии с Таблицей текущее состояние поpта после выполнения пpеpывания BIOS.
Байты состояния последовательного поpта
Состояние канала связи ( АН )
Значение, устанавливающее бит.............. Бит
Готовность данных..................................... 0
Ошибка пеpеполнения.................................1
Ошибка контpоля четности.......................... 2
Ошибка кодиpования...................................3
Ошибка пpи идентификации пpеpывания......4
Регистp накопления пеpедаваемых данных...5
Регистp сдвига пеpедачи пуст.......................6
Выход за допустимый интеpвал вpемени.........7
----------------------
ВОПРОС ВОТ В ЧЕМ:
как по состоянию порта машина А может понять что машина В еще не считала символ?
да и второй ВОПРОС: какое максимальное число можно перидать через ком порт за один раз, т.е. вот отрывок программы
mov dx,0 ;com 1
mov ah,1 ;передача байта
mov al,X ; значение которое мы передаем
int 14h ;прерывание
так какое максимально возможное значение Х возможно?
если ответ слишком большой то если не сложно вышли ответ на x_k@chat.ru
заранее благодарен.
[asm]ну хоть кто то мне поможет? непонятка с ком портом. помогите умоляю. 02.06.01 01:34  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
Na kakuu platformu pishesh?
esli NT/2000 to vse ochen prosto

hCom = CreateFile("COM1", . . . );

DCB dcb;
dcb.BaudRate = 9600; //ili luboi drugoi
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
// . . .
SetCommState(hCom,&dcb);

esli DLia DOS ili 9x togda posmotry v kakie registry zapihivat` BaudRate
po umolchaniiu v Windows baudRate smotri v WIN.INI
[Terminal]
port=COM1:2400,N,8,1

Voobchem ne mudri posmotri v MSDN.
[DOS] Bdogonku 02.06.01 01:51  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>



Sample Code

/* Transmitting Machine */
/* Compile options needed: none
*/

#include <stdio.h>
#include <conio.h>
#include <bios.h>

void main(void)

{
unsigned config;

config = (_COM_CHR8|_COM_STOP1|_COM_NOPARITY|_COM_9600);
_bios_serialcom(_COM_INIT,0,config);

while(1)
_bios_serialcom(_COM_SEND,0,(unsigned)getch());

}

/* Receiving Machine */
#include <stdio.h>
#include <conio.h>
#include <bios.h>

void main(void)

{
unsigned config;
unsigned data;
config = (_COM_CHR8|_COM_STOP1|_COM_NOPARITY|_COM_9600);
_bios_serialcom(_COM_INIT,0,config);

while(1)
{
data = 0x0000;
_bios_serialcom(_COM_RECEIVE,0,data);
if (data != 0x0000)
putch((int)data);
}

}
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach