Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
#1

Программирование последовательного порта. - C++

07.10.2010, 16:40. Просмотров 2762. Ответов 5
Метки нет (Все метки)

Здраствуйте. Помогите кто чем может в поиске литературы, исходников по программированию последовательного порта. Получил тему написать прогу "Программа-чат через последовательный порт".
Программу буду писать ТОЛЬКО НА СИ(не С++). Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2010, 16:40     Программирование последовательного порта.
Посмотрите здесь:

Мониторинг последовательного порта - Visual C++
Добрый день коллеги, работаю сейчас над проектом, где надо мониторить все устройства, подключенные к Ком портам. Бьюсь над этим уже...

Как принять число из последовательного порта и отобразить его в edit_box? - Visual C++
Как принять число из последовательного порта и отобразить его?Работаю с помощью CreateFile и ReadFile, но если создать порт и записать в...

WinAPI и Qt. Как реализовать выпадающий список для конфигурирования свойств последовательного порта - C++ WinAPI
Ребят,подскажите пожалуйста, как замутить выпадающий список для конфигурирования свойств последовательного порта...если выразился...

Программирование COM порта - C++ Builder
Возникла необходимость написать приложение которое будет работать с COM портом Помогите пожалуйста разобраться. с Чего начать?

Программирование Com порта в Microsoft Visual Studio 9.0 C++ - Visual C++
Всем привет! Имеется микроконтроллер AVR ATmega128, на борту которого имеется UART. Требуется написать приложение для Win32 принимающее с...

Записать в файл f последовательного доступа N натуральных чисел. Получить в другом файле последовательного дос - C++ Builder
Записать в файл f последовательного доступа N натуральных чисел. Получить в другом файле последовательного доступа все компоненты файла f ,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
12.10.2011, 16:23  [ТС]     Программирование последовательного порта. #2
Если кто-то считает что это нереально, вот вам код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/*Програма-чат через послідовний порт(для двох ПК)*/
 
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
char buf[250],buf2[250];
int com,com2;
void initcom1 () {
          /* налаштування поpту COM-1 на pоботу */
outportb(0x3f8,0x80);  /* пiдготовка до завантаження швидкостi */
outportb(0x3f8,0x60);  /* швидкiсть прийому-пеpедачi в 1200 бод */
outportb(0x3f9,0x00);  /* старший байт подiлювача частоти */
outportb(0x3fB,0x03);  /* бiтiв даних = 8
                  стоп-бiтiв = 1
                  тип паpностi невикоpистовуеться
                  поpти 2F8h i 2F9h в звичайному pежимi */
outportb(0x3fC,0x00); /* модем не викоpистовуеться */
outportb(0x3f9,0x00); /* забоpона всих пеpеpивань */
}
void initcom2 ()
 {
          /* налаштування поpту СОМ-2 на pоботу */
outportb(0x2f8,0x80);  /* пiдготовка до завантаження швидкостi */
outportb(0x2f8,0x60);  /* швидкiсть прийому-пеpедачi в 1200 бод */
outportb(0x2f9,0x00);  /* старший байт подiлювача частоти */
outportb(0x2fB,0x03);  /* бiтiв даних = 8
                стоп-бiтiв = 1
                тип паpностi невикоpистовуеться
                     поpти 2F8h i 2F9h в звичайному pежимi */
outportb(0x2fC,0x00); /* модем не викоpистовуеться */
outportb(0x2f9,0x00); /* забоpона всих пеpеpивань */
}
void gochat (){
char ch;
int z,k,i,dov;
i=0;
k=1;
z=0;
buf[0]=NULL;
buf2[0]=NULL;
do
 {
 if (k==21) 
{
   clrscr();
   k=1;
   gotoxy(1,23);
   printf("%s",buf);
   gotoxy(1,k);
   textcolor(3);
   printf("%s",buf2);
   k++;
}                  /*Приймач*/
  if(((inport(com))&1)!=0) /* пеpевipка на пpийнятi данi */
  {
   ch=inportb(com2);   /* читання пpийнятого бiту */
   buf2[z]=ch;
   z++;
   outport(com,0x20); /* пiдготовка для пpийому слiдуючого символу */
if (ch==13)
{
buf2[z-1]=NULL;
gotoxy(1,k);
textcolor(3);
printf("%s",buf2);
k++;
buf2[0]=NULL;
textcolor(2);
}
  }
                 /*Передавач*/
  if(kbhit())
  {
   ch=getch();
   gotoxy(i+1,23);
   printf("%c",ch);
   buf[i]=ch;
   i++;
   if (ch==13)
{
dov=i;
gotoxy(1,23);
clreol();
gotoxy(1,k);
printf("%s",buf);
buf[i+1]=13;
k++;
   for(i=0;i<=dov+1;i++)
{
do
     {
      outportb(com2,buf[i]);  /* занесення символу в поpт для пеpедачi */
     }
   while((inport(com) & 0x20)==0);
   delay(100);          /* затpимка, якщо буфеp пустий */
   if((inport(com) & 0x10)==1)
   printf("Обрив лінії!!!");
   buf[i]=NULL;
     }
     i=0;
     
   }
  }    
 } while(ch!=27);    /* Вихiд з програми по натисненнi ESC */
}
void main ()
{
 char ch;
 do
 {
 clrscr();
 gotoxy(30,10);
 printf("1.  Com 1\n");
 gotoxy(30,11);
 printf("2.  Com 2\n");
 gotoxy(30,12);
 printf("3.  EXIT\n");
 ch=getch();
 if (ch=='1')
  {
   com=0x3FD;
   com2=0x3F8;
   initcom1();
   clrscr();
   gochat();
  } else
 if (ch=='2')
  {
   com=0x2FD;
   com2=0x2F8;
   initcom2 ();
   clrscr();
   gochat ();
  } else
If(ch=='3')
{
Exit;
}
  }
  while(ch!='1' && ch!='2' && ch!='3');
}
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
12.10.2011, 17:09     Программирование последовательного порта. #3
ну на сколько я знаю для каждого устройства свои порты(тоесть для той же клавиатуры могут быть разные порты)
и следственно по идеи ты хочешь написать драйвер
в проинципе найди нужную документацию по оборудованию
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
12.10.2011, 17:18  [ТС]     Программирование последовательного порта. #4
Цитата Сообщение от Van111 Посмотреть сообщение
ну на сколько я знаю для каждого устройства свои порты(тоесть для той же клавиатуры могут быть разные порты)
и следственно по идеи ты хочешь написать драйвер
в проинципе найди нужную документацию по оборудованию
Нет, не драйвер, а чат для 2 ПК через COM-порт(RS-232)...
Программа уже готова, отлажена, уже тестировалась...Все норм работает. Выложил потому, что кто-то писал что такое сделать невозможно...
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
12.10.2011, 17:35     Программирование последовательного порта. #5
Нет, не драйвер, а чат для 2 ПК через COM-порт(RS-232)...
а это типа шнур через два компа кинуть к портам и на порты данные посылать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2011, 00:27     Программирование последовательного порта.
Еще ссылки по теме:

Файл последовательного доступа - C++
Ребят, не могу понять как делать и препод ничего толком не объясняет: Заполнить файл последовательного доступа N действительными...

Файл последовательного доступа - C++
Здрасте всем. Есть два вопроса. В описанном ниже файле 1) как сделать так, чтобы данные сначала выходили в одну строчку после ввода. Плюс...

Файл последовательного доступа - C++
Помогите, пожалуйста, с задачей. Заполнить файл последовательного доступа f целыми числами, полученные с помощью генератора случайных...

Файлы последовательного доступа - C++
Помогите решить задачу. 7. записать в файл out.txt последовательного доступа N действительных чисел, введенных с клавиатуры....

Алгоритм последовательного поиска - C++
Добрый вечер. Уважаемые программисты! Прекрасно понимаю, что задаю элементарные вопросы, но не имею представления, что делать вот с таким...

Файлы последовательного доступа - C++
Программа должна быть разбита на несколько функций и обязательно содержать: 1. Функция формирования исходного файла; 2. Функция вывода...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
schdub
2945 / 1289 / 238
Регистрация: 19.01.2009
Сообщений: 3,366
Завершенные тесты: 1
13.10.2011, 00:27     Программирование последовательного порта. #6
Цитата Сообщение от &Alex& Посмотреть сообщение
/*Програма-чат через послідовний порт(для двох ПК)*/
#include <dos.h>
Цитата Сообщение от &Alex& Посмотреть сообщение
Программа уже готова, отлажена, уже тестировалась...Все норм работает
А под каким ОСью тестировали? Как собирали бинарник и каким компилятором?
Yandex
Объявления
13.10.2011, 00:27     Программирование последовательного порта.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru