Pokaż wyniki 1 do 3 z 3

Temat: Obsługa RS-232etc.

  1. #1

    Domyślnie Obsługa RS-232etc.

    Witam,
    szukam jakiejś dobrej literatury na temat portów (Wujaszek Google wypluwa same nonsensy)jeżeli ktoś ma coś naprawdę godnego uwagi to proszę o podzielenie się(-:
    Pozdro.

  2. #2

    Domyślnie

    Architektura PC - dość droga książka, ale masz dobry opis i nawet elektroniczny.

    Nie mam teraz dostepu, ale wydaje mi się, że powinny być przerwania na to - bo takie rzeczy najprzejrzysćiej pisze się w asmie.

    poprzeglądaj sobie ten kod ↓ może coś Ci pomoże:

    include <windows.h>
    #include <stdio.h>

    int main(int argc, char** argv)
    {
    HANDLE hCom; //uchwyt portu
    DCB dcb; //konfiguracja portu
    BOOL fSuccess; //flaga pomocnicza
    BYTE RS_buf; //bufor danej
    DWORD RS_ile; //ilosc bitow wyslanych

    //otwarcie portu COM1 z prawami RW
    hCom = CreateFile( TEXT("COM1"), GENERIC_READ | GENERIC_WRITE,
    0, // exclusive access
    NULL, // default security attributes
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

    if (hCom == INVALID_HANDLE_VALUE)
    {
    printf("CreateFile failed with error %d.\n", GetLastError());
    return 1;
    }

    //pobranie aktualnych ustawien portu
    fSuccess = GetCommState(hCom, &dcb);
    if (!fSuccess)
    {
    printf ("GetCommState failed with error %d.\n", GetLastError());
    return 2;
    }

    //ustawienie naszej konfiguracji
    dcb.BaudRate = CBR_19200; // predkosc transmisji
    dcb.ByteSize = 8; // ilosc bitow danych
    dcb.Parity = NOPARITY; // brak bitu parzystosci
    dcb.StopBits = TWOSTOPBITS; // dwa bity stopu

    fSuccess = SetCommState(hCom, &dcb);

    if (!fSuccess)
    {
    printf ("SetCommState failed with error %d.\n", GetLastError());
    return 3;
    }

    //wyslanie 1 bajta przez RS
    RS_buf='a';
    fSuccess = WriteFile( hCom, &RS_buf, 1, &RS_ile, 0);
    if (!fSuccess)
    {
    printf ("WriteFile failed with error %d.\n", GetLastError());
    return 4;
    }

    while(1)
    {
    fSuccess = ReadFile( hCom, &RS_buf, 1, &RS_ile, 0);
    if (!fSuccess)
    {
    printf ("ReadFile failed with error %d.\n", GetLastError());
    return 5;
    }

    if(RS_ile==1)
    {
    if(RS_buf == 1) break;
    printf("%c", RS_buf);
    }
    }
    return 0;
    }

  3. #3

    Domyślnie

    Mam ebooka "Urządzenia techniki komputerowej cz. 1", gdzie takie sprawy mogą być opisane (nie wiem , nie sprawdzałem).
    "a imię jego będzie czterdzieści i cztery"
    A. Mickiewicz Dziady cz. III

Podobne wątki

  1. GG - obsługa sieci
    By ShutDown in forum Komunikatory
    Odpowiedzi: 3
    Autor: 02-28-2008, 19:51
  2. obsługa keyloggera
    By lipa71 in forum Newbie - dla początkujących!
    Odpowiedzi: 2
    Autor: 01-21-2008, 13:12
  3. obsługa keyloggera
    By lipa71 in forum C/C++
    Odpowiedzi: 2
    Autor: 01-21-2008, 13:12
  4. obsługa argv
    By 31337 in forum C/C++
    Odpowiedzi: 19
    Autor: 04-22-2007, 09:29
  5. [php] Obsługa sesji
    By Dominik in forum PHP/CGI/ASP/JSP/J2EE
    Odpowiedzi: 1
    Autor: 11-20-2006, 17:38

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj