Du musst noch den Pull-Up Widerstand aktivieren.
jon
hallo.
ich habe mir um den umgang mit einem atmega8 zu erleichtern ein kleines testboard aufgebaut. port d 0 ist ein taster an 5V und an port c 5 ist eine LED.
mein "cot" lautet wie folgt:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portc = Output
Config Portd = Input
If Portd.0 = 1 Then
Portc.5 = 1
Else
Portc.5 = 0
End If
was mache ich falsch?
MfG
M!ni M0nk3y
Du musst noch den Pull-Up Widerstand aktivieren.
jon
Nice to be back after two years
www.roboterfreak.de
der "CODE" funzt tadellos...
vielleicht willste ja sowas:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portc = Output
Config Portd = Input
DO
if Portd.0 = 1 Then
Portc.5 = 1
Else
Portc.5 = 0
End If
LOOP
lg
das mache ich wie?
sry, blutiger anfänger!
mit do und loop geht es auch
hat es was zu sagen das portd.0 auch mit RXD beschriftet ist im datenblatt?
ich glaube, dass dein problem einfach das ist, dass der code nach dem starten des controllers ganz genau einmal durchlaufen wird und dann nie wieder - darum die endlosschleife...
lg
damit klappts aber auch net
Ist mir gar nicht aufgefallen, dass Do-Loop fehlt...
Was mich wundert ist, dass du den Pull-Up Widerstand nicht aktivieren musst. Ich kann bei mir keinen Taster auswerten, wenn ich den nicht aktiviere
jon
Nice to be back after two years
www.roboterfreak.de
??Zitat von Jon
es klappt doch gar nicht, oder was hast du gemeint?
aha, dachte es geht schon:
mit dem beispiel aus dem Wiki sollte es gehen...mit do und loop geht es auch
Code:$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 'Die Baudrate für RS232 Ausgabe. 'Sie muss auch bei PC Terminalprogramm identisch sein Config Portc.0 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C) Led Alias Portc.0 Config Pina.0 = Input 'Ein Pin (PA0) wird als Eingang definiert Taster Alias Pina.0 Porta.0=1 'Interner Pullup Widerstand ein do if taster=0 then Led=1 'Pin wird auf High, also 5V geschaltet else Led = 0 'Pin wird auf Low, also 0V geschaltet endif Waitms 100 loop
Ausgaben mit zb. set Portc.5
Eingaben aber mit zb if Pind.0
$regfile = "m8def.dat"
$crystal = 1000000
Config Portc = Output
Config Portd = Input
DO
if Pind.0 = 1 Then
Portc.5 = 1
Else
Portc.5 = 0
End If
LOOP
Probiere das mal.
Lesezeichen