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:
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);
}
getch() ist kein ansi-c und dient hier nur dazu, weitere messergebnisse einzulesen (bis q gedrückt wird).
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.
Lesezeichen