Zu aller erst, ich bin bei Microcontrollern noch blutiger Anfänger und das ist meine erste Schaltung damit. Ich habe allerdings vorher schon mit FreeBASIC unter Linux und Windows ein bisschen programmiert, darum jetzt auch Bascom.
Ich habe jetzt ein HD44780 Display an meinen 2313 angeschlossen (hiernach: https://www.roboternetz.de/wissen/index.php/Bascom_und_LCD's , genau wie beschrieben, nur dass es ein andere Microcontroller ist). Damit kann ich auch wunderbar anzeigen lassen, was ich will.
Jetzt habe ich noch einen AD-Wandler TLC549 mit angeschlossen und möchte mir Spannungen anzeigen lassen.
Jetzt das Problem. Abgeguckt habe ich hier: http://www.skilltronics.de/versuch/e...nik_pc/ad.html
der wichtige Teil des Originalcodes in FreeBASIC/QuickBasic:
Und nun mein Code für den AT-Tiny2313:Code:volt = 0 OUT 1020, 2 'Strobe an OUT 1020, 0 'Strobe aus FOR leitung = 7 TO 0 STEP -1 'Der IC sendet das hoechste Bit zuerst, 'darum laeuft die Schleife rueckwaerts ein = (INP(ba + 6) AND 16) / 16 'Daten werden ueber CTS eingelesen volt = volt + ein * 2 ^ leitung 'Jedes Bit bekommt seinen Dezimalwert OUT 1020, 1 'Clock an OUT 1020, 0 'Clock aus NEXT LOCATE 10, 14 PRINT USING "###"; volt
Und hier die Fehlermeldung vom Compiler:Code:$regfile = "2313def.dat" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4 Config Lcdbus = 4 Config Portb.3 = Output Portb.3 = 0 Config Portb.2 = Input Portb.2 = 0 Config Portb.1 = Output Portb.1 = 0 Dim Volt As Single Dim Leitung As Single Dim Ein As Single Do Volt = 0 Portb.3 = 1 Portb.3 = 0 For Leitung = 7 To 0 Step -1 Ein = Portb.2 / 16 Volt = Volt + Ein * 2 ^ Leitung Portb.1 = 1 Portb.2 = 0 Next Cls Locate 1 , 1 Lcd Volt Loop
http://www.imageup.de/my.php?image=bcerr.JP.76xi.jpg (tut mir leid wegen der Werbung, aber imageshack war im moment nicht zu erreichen *wunder*)
Hier noch die jeweiligen Zeilen, die die Fehler enthalten:
Code:Zeile 24: Ein = Portb.2 / 16Ich werd aus diesen Meldungen nicht schlau... Ich hoff' ihr könnt mir dabei helfenCode:Zeile 25: Volt = Volt + Ein * 2 ^ Leitung![]()







Zitieren

Lesezeichen