PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenschnittstelle



kermitfrosch
20.04.2006, 11:11
Hallo,

ich möchte ein Messgerät an ein RN-Control anschliessen
und Messdaten einlesen.
Die eingelesenen Daten verarbeite ich dann (Bascom) und gebe
berrechnete Werte an einem Display aus.
Das Verarbeiten und Ausgeben der Daten ist kein Problem.

Allerdings habe ich massive Probleme mit der Schnittstelle.
Wie anschliessen und wie Abfragen ????

Eine Beschreibung habe ich hier:

http://www.gerstner-trauringe.de/download/interfacetypen.htm

uwegw
20.04.2006, 11:19
Die Taktleitung auf nen externen Interruptkanal, die Datenleitung auf nen beliebigen Eingang, die Request-Leitung wie beschrieben per Optokoppler.
Interrupt auf fallende Flanke einstellen und in der ISR den Datenpin abfragen.

kermitfrosch
20.04.2006, 11:24
Das geht aber schnell hier.
Echt klasse.

Ich bin ein absoluter Neuling auf dem Gebiet.
Programmierung ist aber kein Problem.


externen Interruptkanal --> ?????

die Datenleitung auf nen beliebigen Eingang --> Ist klar

die Request-Leitung wie beschrieben per Optokoppler --> ???

Interrupt auf fallende Flanke einstellen --> ???

ISR den Datenpin abfragen. --> Kein Problem



Besten Dank im Vorraus

kermitfrosch
20.04.2006, 13:25
Hört sich alles ganz einfach an.
Leider komm ich damit nicht weiter.

Optokoppler --> was für einen ? wie anschliessen ?
externen Interruptkanal --> woher kommt der denn?
Interrupt auf fallende Flanke einstellen --> wie geht das denn?

sorry wegen der Fragen, aber ich komm echt nicht weiter.

uwegw
20.04.2006, 15:58
Optokoppler --> was für einen ? wie anschliessen ?

wie anschließen, steht auf der Seite, von der du die Infos kopiert hast. (da ist ein TIL 113 angegeben) Irgendein Feld-Wald-und Wiesentyp reicht auch... wenn du den Pin in den Pausen hochohmig schaltest, könnte es auch ohne gehen...



externen Interruptkanal --> woher kommt der denn?

Ist schon im AVR des RNC eingebaut... An den Ports D2 und D3 kannn ein Signal von außen nen Interrupt auslösen.



Interrupt auf fallende Flanke einstellen --> wie geht das denn?

Siehe Bascom-Hilfe oder im Wiki:
https://www.roboternetz.de/wissen/index.php/Bascom_Interrupts

kermitfrosch
21.04.2006, 20:21
Hallo,

Vielen Dank,
das mit dem Interrupt hab ich verstanden.
Ist bei Wiki gut erklärt.

Laut meiner Doku werden 13 Ziffern zu je 4 Bit gesendet.
Wie lese ich denn Die über meinen Eingang ein ?








$regfile = "m32def.dat" 'Die Anweisung bestimmt Controllertyp, hier AVR Mega 32
$framesize = 32 'Stackanweisungen, die eigentlich nur bei größeren Programmen
$swstack = 32 'wirklich nötig werden
$hwstack = 32
$crystal = 16000000 'Die Frequenz des verwendeten Quarzes
$baud = 9600



Config Int0 = Falling 'Configuriere Int0 auf Falling
Enable Interrupts 'einschalten Der Interrupts
Enable Int0 'einschalten Von Interrupt Int0
On Int0 Isr_von_int0 'springe Zu Isr_von _int0

Config Pina.0 = Input ' Pin A.0 als Eingang konfigurieren (Taster)
Config Pina.1 = Input

Config Pina.6 = Output
Config Pina.7 = Output

Led Alias Porta.6
OptEin Alias Porta.7

Tast Alias Pina.0
OptAus Alias Pina.1

Porta.0 = 1 ' Interner Pullup Widerstand ein
Porta.1 = 1

Dim I As Byte

Const Pon = 0
Const Poff = 1



' Hauptschleife
Do
print Tast ; " " ; OptEin ; " " ; OptAus

porta.0 = 0

Waitms 50
Loop


Isr_von_int0:

print "Port A1 = " ; optaus

porta.1 = 1
return