bin neugierig geworden und habe heute mal mein etwas betagteres M3830 an einen COM-port gehängt. alles wesentliche steht auf http://sigprak5.informatik.hu-berlin...eter/m3830.php beschrieben. es sind nicht mehr als 2 messungen pro sekunde machbar, und der code ist nur unter windows lauffähig (sollte aber unter linux auch ähnlich funktionieren). hier der code:
getch() ist kein ansi-c und dient hier nur dazu, weitere messergebnisse einzulesen (bis q gedrückt wird).Code:#include <stdio.h> #include <windows.h> #include <conio.h> // nur für getch. kein ansi-standard. int main(void) { HANDLE port; DCB dcb; char string[16]; int x; unsigned long dwNum; port=CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); // serielle Schnittstelle öffnen GetCommState(port, &dcb); // Konfiguration lesen dcb.BaudRate = CBR_1200; // 1200 Baud dcb.ByteSize = 7; // 7 Datenbits dcb.Parity = 0; // kein Paritätsbit dcb.StopBits = TWOSTOPBITS; // 2 Stoppbits dcb.fBinary = TRUE; dcb.fParity = 1; dcb.fRtsControl = 0; // RTS auf -12 Volt dcb.fDtrControl = 1; // DTR auf +12 Volt SetCommState(port, &dcb); // Konfiguration schreiben do { WriteFile(port,"D",1,&dwNum,NULL); // Zeichen »D« ans Messgerät senden x=0; do { ReadFile(port,&string[x],1,&dwNum,NULL); } while(string[x++]!=13); string[x]=0; printf("%s\n",string); } while(getch()!='q'); CloseHandle(port); // serielle Schnittstelle schließen return(0); }
hilfreich ist vielleicht auch folgende seite: http://home.arcor.de/bernd_kunze/digiscop.htm
gruesse von der katz
EDIT @fragesteller:
ich würde über ein billiges 2kanal oszi (evtl bei ebay) nachdenken. wenn es nur um frequenzmessung geht, gibt es auch recht günstige multimeter, die das können.







Zitieren

Lesezeichen