Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Параллельное программирование на Си 
V
    Опции темы
magesi
  Дата 23.6.2012, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



Цитата(margo1111 @ 23.6.2012,  14:54)
Спасибо большое за такое внимание к моей проблеме, пытаюсь пока что понять, все что Вы мне сказали...

Добавлено @ 14:55
Цитата(magesi @ 23.6.2012,  14:53)
Цитата(margo1111 @ 23.6.2012,  14:51)
Windows 95, действительно доисторический))

Лаба в универе, что ли?

Почти лаба....

Попробуйте такой код на Вашем турбо , тогда , для отображения содержимого регистра по состоянию параллельного порта.

Код

#define PORT 0x378

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

static int data;

int main(void)
{
    clrscr();
    
    while(!kbhit())
    {
        data = inportb(PORT + 1);
        
        gotoxy(3, 0xa);
        
        printf("Доступные данные на регистрах: %3d | %3X\r\n", data, data);
        printf("\r\n Pin 15: %d", (data & 0x08) / 0x08);
        printf("\r\n Pin 13: %d", (data & 0x10) / 0x10);
        printf("\r\n Pin 12: %d", (data & 0x20) / 0x20);
        printf("\r\n Pin 11: %d", (data & 0x80) / 0x80);
        printf("\r\n Pin 10: %d", (data & 0x40) / 0x40);
        
        delay(0xa);
    }
    
    return 0;
}



Чтобы узнать наличие и адреса LPT порта на компьютере.

Код

#include <stdio.h>
#include <dos.h>

static unsigned int far *ptraddr;
static int address;
static int a;

int main(void)
{
    ptraddr = (unsigned int far*)0x00000408;
    
    clrscr();

    for(a = 0; a < 3; a++)
    {
        address = *ptraddr;
        
        if (address == 0)
        {
            printf("Не найдено порта для LPT %d\r\n", a + 1);
        }
        else
        {
            printf("Адрес порта для LPT%d is 0x%X \n", a + 1, address);
            ptraddr++;
        }
    }
    
    getch();
    
    return 0;
}


Это сообщение отредактировал(а) magesi - 23.6.2012, 15:11
PM MAIL   Вверх
margo1111
Дата 23.6.2012, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



Цитата(magesi @ 23.6.2012,  14:40)
Код

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <Windows.h>

static char buffer[0x400];
static DWORD dw;
static OVERLAPPED ov;

int main(void)
{

    HANDLE hLPT = CreateFile(L"LPT1", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

    if(hLPT != INVALID_HANDLE_VALUE)
    {
        printf("OK! Open LPT1...\r\n");
 
        strcpy(buffer, "Hello LPT!\r\n");
        WriteFile(hLPT, buffer, sizeof(buffer), &dw, &ov);
        CloseHandle(hLPT);
    }
    else
    {
        printf("Error open!\r\n");
        return 1;
    }

    return 0;    
}


Эх...не сочтите за наглость...не могли бы Вы объяснить каждую строчку данной программы.....что она делает именно...буду оч благодарна...
PM MAIL   Вверх
magesi
Дата 23.6.2012, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



margo1111, устройство в ОС может представляться в файла, а далее читайте msdn/гуглите правильными запросами, к примеру:

LPT C++ Windows
LPT C++
LPT C++ Windows howto
LPT CreateFile C++
LPT TurboC Windows 95

Что я могу Вам комментировать? Виндовые ф-ции из WinAPI , как CreateFile() / WriteFile() / CloseHandle() или стандартные из Сишной либы, как strcpy() ?

Здесь, в руки гугл конкретных ф-ций и что они делаеют читать и пробывать.... что Вы могли не знать, я в 1-ой строчке сказал, остальное читается самим

PS
Потом Вы не на этот код смотрите лучше, у Вас с Вашим старым TurboC будут проблемы с #include заголовка <Windows.h>
Я Вам привел дальше код, конкрертно под Ваш старый компилер 10летней давности и Windows95

Это сообщение отредактировал(а) magesi - 23.6.2012, 15:27
PM MAIL   Вверх
margo1111
Дата 23.6.2012, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



Цитата(magesi @ 23.6.2012,  15:22)
margo1111, устройство в ОС может представляться в файла, а далее читайте msdn/гуглите правильными запросами, к примеру:

LPT C++ Windows
LPT C++
LPT C++ Windows howto
LPT CreateFile C++
LPT TurboC Windows 95

Что я могу Вам комментировать? Виндовые ф-ции из WinAPI , как CreateFile() / WriteFile() / CloseHandle() или стандартный из Сишной либы, как strcpy() ?

Здесь, в руки гугл конкретных ф-ций и что они делаеют читать и пробывать.... что Вы могли не знать, я в 1-ой строчке сказал, остальное читается самим

ок...ещё раз ОГРОМНОЕ СПАСИБО!
PM MAIL   Вверх
margo1111
Дата 23.6.2012, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



блин...все равно не понимаю, как организовать 3 независимых канала приема-передачи...
PM MAIL   Вверх
magesi
Дата 23.6.2012, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



Цитата(margo1111 @ 23.6.2012,  15:40)
блин...все равно не понимаю, как организовать 3 независимых канала приема-передачи...

Вы про семафор почитали?
PM MAIL   Вверх
margo1111
Дата 23.6.2012, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.9.2010

Репутация: нет
Всего: нет



Цитата(magesi @ 23.6.2012,  15:41)
Цитата(margo1111 @ 23.6.2012,  15:40)
блин...все равно не понимаю, как организовать 3 независимых канала приема-передачи...

Вы про семафор почитали?

да, там про какую то блокировку все пишут....может не то читаю...или совсем уж неумная
PM MAIL   Вверх
magesi
Дата 23.6.2012, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



Цитата(margo1111 @  23.6.2012,  15:51 Найти цитируемый пост)
да, там про какую то блокировку все пишут....может не то читаю...или совсем уж неумная 

Вы не по-диагонали читайте... блокировка связана с построением очереди из потоков на обсуживание не более, чем опред. кол-ву потоков в модели семафора, как раз наиболее чаще используемая модели для асинхронности , которая применяется много где, для доступа потоков к файлам, при операциях с сокетами



Это сообщение отредактировал(а) magesi - 23.6.2012, 15:56
PM MAIL   Вверх
boostcoder
Дата 23.6.2012, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



magesi, margo1111, стоп!

margo1111, турбо С-2.0 - это DOS.
он не умеет компилировать для windows. он и WINAPI вряд ли поддерживает.
Вы уверены, что задача не для DOS?

PM WWW   Вверх
magesi
Дата 23.6.2012, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



boostcoder, а я что говорил? я ей сначала написал для Венды код, потом спросил не dos ли у нее и привел уже код для dos? Что мне-то стоп?  smile 

Цитата(boostcoder @  23.6.2012,  16:17 Найти цитируемый пост)
он не умеет компилировать для windows. он и WINAPI вряд ли поддерживает.

я про это писал уже, тут:

Код

Вы бы уточнили , какая именно у Вас версия Windows ( именно Windows , а не DOS ли это )?

А то , Вы заголовком dos.h и доисторической версией компилятора Си на мысль наводите, что Вы на какой-нибудь =~ Windows 3.1 сидите, да и LPT порт....



после чего уже привел для dos код и прокомментировал насчет <windows.h>

Код

PS
Потом Вы не на этот код смотрите лучше, у Вас с Вашим старым TurboC будут проблемы с #include заголовка <Windows.h>


ко мне-то какие претензии?  smile 

Это сообщение отредактировал(а) magesi - 23.6.2012, 16:21
PM MAIL   Вверх
boostcoder
Дата 23.6.2012, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(magesi @  23.6.2012,  16:18 Найти цитируемый пост)
Что мне-то стоп?

слишком много информации даешь для неокрепшего ума.

Добавлено через 51 секунду
Цитата(magesi @  23.6.2012,  16:18 Найти цитируемый пост)
я про это писал уже, тут

я прочел топик по диагонали)

PM WWW   Вверх
magesi
  Дата 23.6.2012, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



Цитата(boostcoder @  23.6.2012,  16:21 Найти цитируемый пост)
слишком много информации даешь для неокрепшего ума.

Неокрепший ум пытается модем поиметь через LPT  smile 
Еще чуть-чуть бы про ring0 и при помощи прерываний получать битики  smile будет спрашивать

PS
Кстати, ты не мог бы в мою соседнюю тему глянуть  smile а то у меня там секс Сях с Lua через Венду 
Спасибо тебе, заранее!  smile 

Это сообщение отредактировал(а) magesi - 23.6.2012, 16:33
PM MAIL   Вверх
boostcoder
Дата 23.6.2012, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



magesi, я под венду не писал уже года четыре. забыл все напрочь smile 
PM WWW   Вверх
magesi
Дата 23.6.2012, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 20.5.2012

Репутация: -4
Всего: -4



boostcoder, я в апоже  smile даже на StackOverflow мне не помогли.... мдя, пошел напьюсь... с девушкой расстался, теперь еще Винда не дает  smile жизнь - г*вно, что ли не *nix перейти , начну жизнь с нового листа  smile 
PM MAIL   Вверх
EvilsInterrupt
Дата 23.6.2012, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 2
Всего: 9



Цитата

жизнь - г*вно, что ли не *nix перейти , начну жизнь с нового листа

Не поверишь, там еще тяжелее, что не шаг, то сразу надо юзать команду man или смотреть в /usr/share/example/
PM MAIL WWW ICQ Jabber   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0568 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.