Hallo zusammen,
wo sind die Experten? Laßt mich bitte nicht im Regen stehen?!
MfG
Sebastian
Hallo zusammen,
ich habe mir einen I2C Bus Adapter zusammengebaut und möchte mich mit einer externen Hardware unterhalten.
Nur habe ich bisher nur VB Programme gefunden. Mein Projekt beinhaltet bereits eine menge C Quellcode und den möchte ich nicht unschreiben müssen.
Da ich nun nicht die nötwendige Zeit habe mich in das Telegrammbild des I2C Busses einzuarbeiten, möchte ich die Frage an euch alle richten ob jemand soetwas bereits fertig hat und bereit ist mir das zukommen zu lassen?
Ich meine eine Funktion die das Senden vorbereitet (Port bei Windows frei machen) und eine die zum absenden der Telegramme verwendet werden kann.
Für eure Hinweise währe ich sehr dankbar.
MfG
Sebatian
Hallo zusammen,
wo sind die Experten? Laßt mich bitte nicht im Regen stehen?!
MfG
Sebastian
Sorry, war nicht eingelogged.
Das meiste hat er doch geschrieben: Er hat einen Adapter von serieller SChnittstelle auf I²C gebastelt. Jetzt sucht er Software oder Programmschnippsel in C, die ihm das Senden von Daten über die serielle Schnittstelle ermöglichen.
Echt? Wo hat er denn was von serieller Schnittstelle geschrieben? Aber egal, das ist hier ja nicht das Thema.
Mit der seriellen Schnittstelle unter Windows kenne ich mich leider nicht so aus.
Das ansprechen des COMPorts unter c ist eigentlich recht einfach.
Danach kannst du den Filedeskriptor wie eine Datei verwenden.Code://===========================================================================// // Copyright 01.05 Michael Sonst für Systeme Helmholz GmbH, Weisendorf // // // // Autor : Michael Sonst // // Version : 1.1 // // Erstellt am : 21.01.2005 // // // //===========================================================================// s8 IsWinNT() { OSVERSIONINFO OSinfo; OSinfo.dwOSVersionInfoSize = sizeof(OSinfo); GetVersionEx(&OSinfo); return(OSinfo.dwPlatformId == VER_PLATFORM_WIN32_NT); } //--------------------------------------------------------------------------- void __fastcall EnumComPorts(TComboBox* combobox) { if(combobox==NULL)return; combobox->Clear(); s8 Name[16]; HANDLE hCom; u8 maxport; if(IsWinNT())maxport=99; else maxport=9; for(s32 i=0; i<maxport; i++){ Name[0] = '\0'; strcat(Name, "COM"); strcat(Name, IntToStr(i).c_str()); hCom = CreateFile ( Name, // name of comport (GENERIC_READ | GENERIC_WRITE), // access mode 0, // only exclusive open a comport NULL, // security none OPEN_EXISTING, // only if exist FILE_FLAG_OVERLAPPED, // open with overlapped structure FILE_ATTRIBUTE_NORMAL 0); // always zero if(hCom != INVALID_HANDLE_VALUE){ combobox->AddItem("COM"+IntToStr(i), (TObject*)i); //abuse TObject CloseHandle(hCom); } } }
Schau dir doch mal die im quellcode verfügbaren Komponenten an.
(www.torry.com)
Gruss
Michael
Sorry war nicht eingeloggt...
Schau dich unter anderem in der MSDN nach GetCommModemStatus und EscapeCommFunction um. Damit kannst du die Signale am COM lesen und schreiben.
ps: www.torry.com war falsch meinte http://www.torry.net.
Gruss
Michael
Wie bereits richtig vermutet wurde möchte ich die Serielle Schnittstelle nutzen. Der Adapter stammt von Roboter Hardware. Auf eine Serielle Schmittstelle zugreifen, das bekomme ich ja sogar hin, nur klappt das mit den Pegeln nicht. Sprich das Bitmuster zu erzeugen, welches den I2C Bus zu darstellt.
Aber soweit schon mal vielen dank.
Hat den jemand etwas, was bereits fertig ist?
Wenn ich einen Baustein verwende der an den Bus gehangen wird und 8 Ausgänge bereit stellt. Welche maximale Frequenz kann ich an einem der Ausgänge erzeugen? Und welchen Baustein würdet Ihr empfehlen?
MfG
Sebastian
Bitte helft mir nocheinmal auf die Sprünge...
Lesezeichen