Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » Общекомпьютерный »
LPT-порт

Версия для печати (настроить)

Новая тема | Написать ответ

Подписаться

Автор Тема:   LPT-порт
bluecolor
Junior Member

Сообщений: 1
Откуда: Арзамас,Россия
Регистрация: Декабрь 2009

написано 28 Декабря 2009 17:10ИнфоПравкаОтветитьIP

Составить программу для двунаправленного обмена данными между двумя компьютерами посредством LPT-порта. Обмен данными должен осуществляться с помощью полубайтного режима Nibble Mode(ввод байта в 2 цикла по 4 бита).
ВОТ прога в Borland 3.1,в ней один компьютер передатчик,а другой приёмник.
Цель:изменить код так,чтобы каждый из компьютеров мог быть и передатчиком и приёмником
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#define IN 0x379
#define OUT 0x37A


int in_byte()
{
int in, out = 0;

outportb(OUT,0x0f);//read to recieve
delay(1);
out = inport(IN)&0xf0; // recieve hi

outportb(OUT,0); // reset line

while((inport(IN)&0xf0) != 0xc0); // wait request to recieve
outportb(OUT,0x0f); // read to recieve
delay(1);

out |= ( inport(IN) & 0xf0 ) >> 4; //recieve
outportb(OUT,0); //reset line

return out^0x33;
}


void out_byte( int c )
{
int out;

outportb(OUT,0x0f); // want to send
while((inport(IN)&0xf0) != 0xc0); // wait to reciver ready

out=(c>>4)&0x0f;
outportb( OUT, out);// send hi

while((inport(IN)&0xf0) != 0x30); // wait to clear line

outportb(OUT,0x0f); // want to send
while((inport(IN)&0xf0) != 0xc0); // wai to reciever ready
out=c&0x0f;
outportb( OUT, out); // send low

while((inport(IN)&0xf0) != 0x30); //wait to clear line
outportb(OUT,0); // clear line
}

void main(void)
{
int c;
clrscr();
outportb(OUT,0);

////////////////////keyboard chat/////////////


while(1)
{
if(kbhit())
{
c=getch();
if(c==27) break;
if(c==13) printf("\n");
else printf( "%c", c );
out_byte(c);
}

if((inportb(IN)&0xf0) == 0xc0)

{
c = in_byte();
if(c == 13) printf("\n");
else printf("%c",c&0xff);
}



}
////////////// keyboard chat //////////////////

outportb(OUT,0);
}

jz
Ideology Administrator

Сообщений: 3355
Откуда: SkunksWorks
Регистрация: Сентябрь 2005

написано 28 Декабря 2009 18:52ИнфоПравкаОтветитьIP

bluecolor
Составить программу для двунаправленного обмена данными между двумя компьютерами посредством LPT-порта.
Я конечно дико извиняюсь, но если речь идёт о передаче файлов, то чем не устраивают алгоритмы NC?

bluecolor
Junior Member

Сообщений: 2
Откуда: Арзамас,Россия
Регистрация: Декабрь 2009

написано 29 Декабря 2009 22:41ИнфоПравкаОтветитьIP

такое задание у меня в курсаче потому что, там нет ничего про Norton Commander

jz
Ideology Administrator

Сообщений: 3371
Откуда: SkunksWorks
Регистрация: Сентябрь 2005

написано 29 Декабря 2009 22:56ИнфоПравкаОтветитьIP

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

А насчёт курсача - метод посмотреть методический материал, а не просить, чтобы кто-то сделал курсач нахаляву, не прокатывает?

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика