Hallo Gemeinde,
ich versuche nun seit einigen Stunden ein SPI-Intzerface mit Profilab und dem CH341A zu realisieren. Leider bisher ohne Erfolg.
Ich stelle mir schon so grundlegende Fragen wie:
-Welche Aufgaben bzw. Funktionen haben wann die Anschlüsse "wa", "wb",... "$w"?
-Welche Funktionen brauche ich um die SPI-Schnittstelle zu konfigurieren? BitStreamSPI? Oder doch SetStream?
-Muss ich irgendwo die Ausgänge definieren? Und wenn ja, wie?
-Fragen über Fragen...
Hat evtl. jemand ein Beispiel mit den grundlegenden Funktionen? Später möchte ich damit ein CAN-Interface mit dem MCP2515 realisieren.
Vielen Dank schonmal für eure Unterstützung!
Grüße
Markus
SPI mit CH341A
Re: SPI mit CH341A
Für das CH341A gibt es in Profilab mehrere Beispiele, siehe Menü Datei/Beispiele/Hardware/Abacom/CH341A
Gruß, Müllmann
Gruß, Müllmann
Ich bin der Müllmann und räume nur auf.
Re: SPI mit CH341A
Das ist richtig!
Leider beschränken sich die Beispiele auf Pinzustände abfragen, Pinpegel setzen und I²C.
Da ist leider kein Beispiel für eine SPI-Kommunikation.
Grüße
Markus
Leider beschränken sich die Beispiele auf Pinzustände abfragen, Pinpegel setzen und I²C.
Da ist leider kein Beispiel für eine SPI-Kommunikation.
Grüße
Markus
Re: SPI mit CH341A
Da hast du Recht, SPI ist dort nicht beschrieben, aber vielleicht kann Abacom weiterhelfen.
Die Frage für später ist dann noch, ob Profilab schnell genug reagiert, wenn du mit einem CAN-Interface arbeiten willst ?
Vielleicht bist du mit einem Arduino o.ä. besser bedient ? Hängt von deiner Anwendung und den Programmierkenntnissen ab.
Gruß, Müllmann
Die Frage für später ist dann noch, ob Profilab schnell genug reagiert, wenn du mit einem CAN-Interface arbeiten willst ?
Vielleicht bist du mit einem Arduino o.ä. besser bedient ? Hängt von deiner Anwendung und den Programmierkenntnissen ab.
Gruß, Müllmann
Ich bin der Müllmann und räume nur auf.
Re: SPI mit CH341A
"-Welche Aufgaben bzw. Funktionen haben wann die Anschlüsse "wa", "wb",... "$w"?"
Dies sind die Übergabeparameter an die jeweils eingestellte API-Funktion.
Der erste API-Parmeter ist immer "Index" (=die eingestellte Gerätenummer im Dialog).
Weitere API-Parameter (sofern vorhanden) belegen dann der Reihe nach die Bauteil-Pins wa,wb,wc,... (schreibend)
bzw. ra,rb,rc,... (lesend).
Beispiel:
Diese CH341A-API-Funktion besitzt nur einen weiteren Parameter: "iMode", der schreibend über Pin 'wa' übergeben wird.
Dies sind die Übergabeparameter an die jeweils eingestellte API-Funktion.
Der erste API-Parmeter ist immer "Index" (=die eingestellte Gerätenummer im Dialog).
Weitere API-Parameter (sofern vorhanden) belegen dann der Reihe nach die Bauteil-Pins wa,wb,wc,... (schreibend)
bzw. ra,rb,rc,... (lesend).
Beispiel:
Code: Alles auswählen
Function CH341SetStream(iIndex:cardinal; iMode:cardinal):boolean;Stdcall; external 'CH341DLL.DLL';
ABACOM support
Re: SPI mit CH341A
// CH341SetStream() konfiguriert I2C und SPI
// Bit 1-0: I2C speed 00= low speed /20KHz
// 01= standard /100KHz
// 10= fast /400KHz
// 11= high speed /750KHz
// Bit 2: SPI - Modus
// 0= Standard SPI (D3=clock out, D5=serial out, D7 serial in
// 1= SPI with two data lines (D3=clock out, D5,D4=serialout, D7,D6 serial
in)
// Bit 7: SPI 0= LSB first
// 1= MSB first
// other bits 0 (reserved)
// Bit 1-0: I2C speed 00= low speed /20KHz
// 01= standard /100KHz
// 10= fast /400KHz
// 11= high speed /750KHz
// Bit 2: SPI - Modus
// 0= Standard SPI (D3=clock out, D5=serial out, D7 serial in
// 1= SPI with two data lines (D3=clock out, D5,D4=serialout, D7,D6 serial
in)
// Bit 7: SPI 0= LSB first
// 1= MSB first
// other bits 0 (reserved)
ABACOM support