Serial Port



  • Development Tool: Dev C++ v 4.9.9.2
    Opperating System: Windows XP
    -Änderungen nicht möglich-

    Ich such jetz schon geschlagenen 2 tage nach einem Beispiel wie man den COM0 anspricht und davon einliest..
    beinah ausschliesslich wird Visual CPP verwendet welches mittels WCF und ggf. mit serialport.h arbeitet, hab ich aber beides nich zur verfügung in Dev C++
    beinah alle Beiträge verweissnen aus Dead-Link's oder sind auf so hohem englishen niveau das ich das nich lesen kann.. solangsam bin ich verzweifelt..
    wäre echt super dankbar für ne kleine hilfe und evtl geschite Beispiele.
    is zwar nur n kleiner teil des programms aber mit dem rest kenn ich mich wenigstens aus ^^

    aufgabenstellung:
    Mirkokontroller ADUC814 vom PC via Bluetooth an RS-232 Schnittstelle steuern
    hierfür muss der Komputer 4 Befehle senden können und zwei empfangen
    Übertragungsart 8 Bit, No Parity, 1 Stop Bit, 9600 Bps (Baud/s)

    könnte ich bitte ein Beispiel für die Header, Initialisierung der Übertragungsart, eines sendevorgangs udn eines empfangvorgangs bekomen?
    thx im vorraus

    mfg cella





  • MSDN Library, die Entwicklerbibliothek für

    Visual Studio 2008 und Visual Studio 2005
    .NET Framework 3.5 und vorhergehende Versionen
    SQL Server

    der Dev C++ is nichts der gleich wenn ich ds richtig weiß ^^



  • Probier es doch einfach aus! Es wird unter Dev-C++ funktionieren!



  • Hallo Leute!

    Brauche dringend Hilfe:
    ich möchte Daten übertragen und muss dafür mit einem Port verbinden. Ich habe das so gemacht
    hFile = CreateFile(L"\\\.\\COM7",GENERIC_WRITE|GENERIC_READ,0,NULL,OPEN_EXISTING,0,0);

    D.h. ich verbinde immer mit einem bestimmten Port. Wie kann ich es aber so machen, dass sich das Gerät automatisch mit einem Port verbindet ohne dass ich das manuell ändern muss? Denn der Port ändert sich ab und zu und dann muss ich in den Quellcode und dann die Nummer ändern.

    Ich danke euch schin mal.



  • Es gibt leider kein Mechanismus für zuverlässige automatische Erkennung des Wechsels der Port-Nummern.

    Was Du zuverlässig machen kannst:
    Ein Schleife mit Nummern 1 bis 256
    Jedesmal einen COM-Port mit der Nummer öffnen.
    Rückgabewert und GetlastError() auswerten
    Wenn erfolgreich, dann COM-Port-Nummer merken.

    Wenn Du festgestellt hast, daß nur noch ein einziger COM-Port existiert, kannst diese Nummer automatisch übernehmen.

    Aber Achtung! Was auf einem Desktop mit einem COM-Port funktioniert, kann z.B. auf einem Laptop in die Hose gehen.
    Denn die meisten Laptops haben zusätzlich eingebautes Modem oder Bluetooth-Schnittstellen, welche wiederum ganz normal über COM-Port angesprochen werden können.
    Diese Geräte kann CreateFile() nicht von den eigentlichen COM-Port Steckern unterscheiden!

    Dein Problem mit den sich ändernden COM-Port Nummern kommt sicher daher, daß Du einen USB-auf-RS232 Konverter verwendest? Richtig?

    Deshalb würde ich in diesem Falle raten, in den Treibereinstellungen die zugewiesene COM-Port Nummer für dieses USB-Gerät fest zuzuweisen (Start->Einstellungen->Systemsteuerung->System dann auf "Geräte-Manager" und dort die LPT- und COM-Ports auswählen... ).

    HTH,
    Martin




Anmelden zum Antworten