PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Hilfe?] Wo ist der Fehler?+



The dark Side
16.03.2005, 14:39
Hallo!
Ich hab jetzt ein neues Programm geschrieben, dieses funktioniert aber nicht:

$regfile = "m8def.dat"
$crystal = 3686400


Config Portd.6 = Output
Config Portd.7 = Input

Do
If Portd.7 = 1 Then Portd.6 = 1
Portd.6 = 0
Loop
Versuche ich zu kompilieren, so bekomme ich folgende Fehler:

Error: 101 Line: 24 Can't find HW-Register [DDR6 ]
Error: 101 Line: 25 Can't find HW-Register [DDR7 ]

???

Gerhard
16.03.2005, 14:58
... also ich habe mal eben das Progr. auf 'nem Mega8 comp., ohne Fehler.
Hast Du evtl. in Bascom unter Menu OPTIONS/Compiler/Chip einen anderen/falschen Atmel eingestellt ???

mfg Gerhard

The dark Side
16.03.2005, 19:30
Also das "M8" ist doch der ATMega8, oder?
Bzw. Wenns beid dir läuft, kannst du mir dann sagen, ob es a8uch so funktioniert wie es soll?

RCO
16.03.2005, 20:00
Es muss heißen:

Config Pind.6 = Output
Config Pind.7 = Input

Bei Config benutzt du nur "port", wenn du z.B. Portd meinst.

MFG Moritz

Frank
16.03.2005, 20:06
Deine If- Anweisung ist aber auch sicher so noch nicht ganz richtig. Du schaltest D6 auf 1 und danach gleich wieder auf 0
Sicher hast du da noch ein "ELSE" und "END IF" vergessen ;-)

The dark Side
16.03.2005, 20:15
@RCO:
So wie du gesagt hast, habe ich es doch auch geschrieben.

@Frank
Nein, das ist schon richtig. Wenn PortD.7 länger als ein Zyklus high ist, so wird PortD.6 sehr schnell auf high/low gesetz. Sollte doch funktionieren

recycle
16.03.2005, 22:10
So wie du gesagt hast, habe ich es doch auch geschrieben

Naja, so eine Programmiersprache ist da vielleicht etwas weniger tolerant als du. So ganz dasselbe ist "Portd.6" und "Pind.6" ja nicht.

recycle
16.03.2005, 22:11
So wie du gesagt hast, habe ich es doch auch geschrieben

Naja, so eine Programmiersprache ist da vielleicht etwas weniger tolerant als du. So ganz dasselbe ist "Portd.6" und "Pind.6" ja nicht.

The dark Side
17.03.2005, 05:09
:-b Uuups
Wobei PinD.6 geht ja auch nicht, son Pin hat ja kein Register

RCO
17.03.2005, 13:57
Wobei PinD.6 geht ja auch nicht, son Pin hat ja kein Register

Es muss bei Config auf jeden Fall Pin heißen, nachher ist ein Eingang ein PinD.X und ein Ausgang PortD.X außerdem fehlt tasächlich ein else und end if:



$regfile = "m8def.dat"
$crystal = 3686400


Config Pind.6 = Output
Config Pind.7 = Input

Do
If Pind.7 = 1 Then
Portd.6 = 1
Else
Portd.6 = 0
End If
Loop

MFG Moritz

The dark Side
17.03.2005, 14:33
Oh danke, RCO.
Es klappt!!!!!!!