PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleines anfängerproblem mit Bascom



Hannebambel
24.10.2004, 16:26
Warum geht das nicht so wie ich will?
Normalerweise müssten die ausgänge an Port C Nacheinander High Pegel annehmen und danach alle wieder LOW bei mir tut sich aber garnichts.

Config Portc = Output
Config Porta = Input
Config Portd = Input
Config Portb = Input

Portb = 1
Porta = 1
Portd = 1

Start:
Portc.0 = 1
Wait 10
Portc.1 = 1
Wait 10
Portc.2 = 1
Wait 10
Portc.3 = 1
Wait 10
Portc.4 = 1
Wait 10
Portc.5 = 1
Wait 10
Portc.6 = 1
Wait 10
Portc.7 = 1
Wait 10
Portc = 0
Goto Start

Ich benutze eienen Atmega 162 mit einem externen 16Mhz Oszillator die Fusebits sind aber noch nicht gesetzt er müsste also mit 1MHz laufen.
:-k

schnuppel
24.10.2004, 20:27
Hallo,


Warum geht das nicht so wie ich will?
Normalerweise müssten die ausgänge an Port C Nacheinander High Pegel annehmen und danach alle wieder LOW bei mir tut sich aber garnichts.

Ich benutze eienen Atmega 162 mit einem externen 16Mhz Oszillator die Fusebits sind aber noch nicht gesetzt er müsste also mit 1MHz laufen.
:-k

habe hier nen mega8 und dein proggi mal getestet, leicht verändert
(habe nur 3 LED auf dem Board) klappt es bei mir.
Wenn du die LED gegen +Us geschaltet hast, mußt du den Ausgang auf GND legen, damits leuchtet.
Ich weiß nicht was du in den "Options" eingestellt hast, aber Frequenz und Chip im Programm mit eintragen sollte nicht schaden.
Wie der 162 im Auslieferungszustand ist weiß ich nicht, der mega8 hat 1 MHz.

Hier mal dein für mein Board angepaßtes Programm:



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

Config Portc = Output
'Config Porta = Input
'Config Portd = Input
'Config Portb = Input

'Portb = 1
'Porta = 1
'Portd = 1

Start:
Portc.0 = 0
Wait 1
Portc = 255
Portc.1 = 0
Wait 1
Portc = 255
Portc.2 = 0
Wait 1
Portc = 255
'Portc.3 = 1
'Wait 1
'Portc.4 = 1
'Wait 1
'Portc.5 = 1
'Wait 1
'Portc.6 = 1
'Wait 1
'Portc.7 = 1
'Wait 1
'Portc = 0
Goto Start


10 Sekunden sind bißchen lang zum Testen.

Hoffe es hilft ein bißchen.

mfG schnuppel

651
25.10.2004, 09:47
hallo

ich versteh nicht die zeile:
portc = 255

liegt das an dem a/d wandler?

gruss 651

RCO
25.10.2004, 10:12
Also eure Programme laufen genau andersrum, während du alle ports einzelnd anmachst, also high machst, mach er sie Low.
Er hat seine Dioden ander angeschlossen, nämlich gegen Vcc, also leuchten sie, wenn am Portx.x 0 anliegt, das ist sinnvoll, weil die AVR so höhere Strom fließen lasse, also mach es am besten auch so, un schalte sie nicht gegen GND, vielleicht leuchten sie ja shcon, nur eben schwach.
portc = 255 heißt dann eben, alle Pins werden high gesetzt, also die Zahl 255 angelegt, genauso könntest du schreiben portc = &B11111111.

Schalte deine Dioden an Vcc (umdrehen nciht vergessen) und benutze mal das Script von schnuppel, allerdings verstehe ich nciht, warum er dann mitten im Script vom Setzen auf 0 zum setzten auf 1 springt...

MFg Moritz

fzehner
25.10.2004, 14:16
er hat doch geschrieben, dass er nur 3 LEDs hat. die zeilen, wo er eine 1 verwendet, sind kommentar, da hat er halt die werte nicht angepasst, sondern nur übernommen.