'************************ Anschlußbelegung *************************** ' - Daten: PortC ' - Reset: PortA.0 ' - CE1 : PortA.1 ' - OE : PortA.2 ' - CD1 : PortA.3 ' - WE : PortA.4 ' - BSY : PortA.5 ' - A00 : PortB.0 ' - A01 : PortB.1 ' - A02 : PortB.2 '********************************************************************** $crystal = 4000000 $baud = 9600 Res Alias Porta.0 Ce1 Alias Porta.1 Oe Alias Porta.2 We Alias Porta.4 Dim Lauf As Word Dim Daten As Byte Config Portc = Input Config Portb = Output Portb = 0 Ddra = &B00010111 Porta.3 = 1 'pullup aktivieren Res = 1 Ce1 = 1 Oe = 1 We = 1 Print "Start"; Print Chr(13); '************** Checken ob Karte gesteckt ist ******************** While Pina.3 = 1 'CD1 abfragen Print "Karte nicht gesteckt"; Print Chr(13); Wait 1 Wend Print "Karte gesteckt"; Print Chr(13); '**************************************************************** Res = 0 'Reset Waitus 1 Res = 1 Waitms 500 '**************************************************************** Start: Ce1 = 0 'CF-Karte aktivieren While Pina.5 = 0 'Busycheck Wend Portb = &B00000111 'Command Register gewählt Waitms 50 Config Portc = Output 'Portc auf Ausgang setzen Portc = &HEC 'Identify Drive Kommando Waitus 1 We = 0 Waitus 1 'Strobe Writeenable We = 1 Waitus 1 'Portc ist wieder Eingang Config Portc = Input '************ Jetzt müssen die Daten aus dem Buffer gelesen werden ******************** Portb = 0 'Datenregister adressieren For Lauf = 1 To 512 While Pina.5 = 0 'Busyleitung abfragen Wend Oe = 0 'Outputenable auf 0 setzen Waitus 1 Daten = Pinc 'Daten einlesen Print "Nummer "; Print Lauf; Print ": "; Print Daten ; "" Print Chr(13); Oe = 1 'Outputenable auf 1 setzen Waitus 1 Next Ce1 = 1 'Karte deaktivieren Wait 1 Goto Start