PORTS schalten nicht

Gast #3098671
Lesenswert?

>Ja die Datenrtichtung habe ich festgelegt und das Abschalten der Jatg
>Fuses bringt keinen unterschied... es sieht sogar so aus das z.B PORTC 1
>immer hin und her Springt... zwischen 0 und 3.5V

Programm zeigen.
Gast #3098686
Lesenswert?

Naja die erste klammer öffnet die PRogrammfunktion und öffnet den INhalt 
der Endlosschleife... die dritte schließt sie wieder und die vierte 
vervollständigt das PRogramm....

Ich kann es mir nicht erklären warum ich fast keinen Ausgang mehr auf 
High ziehen kann dann alle PORTS sind auf Ausgang geschaltet und dann 
auch eigentlich auf High gesetzt... zumindest was die Software angeht...

-\_(';')_/-
Gast #3098690
Lesenswert?

Aber woran soll es liegen, denn das PRog ist meiner meinung nach auch 
korrekt und so viel ist es ja auch wirklich nicht !IIch kann nur noch 
sagen das MOPED steckt auf dem Pollinboard Evaluationboard 2.1 und wird 
über den AVRISP MKII angesprochen  mehr ist da nicht dran...?
Gast #3098697
Lesenswert?

Hallo,
was ist wenn while() nicht ausgeführt wird?
Sind deine Bezeichner auch korrekt vordefiniert?
Wenn du PORTA = ..., ausgibst und der Bezeichner PORTA ist nicht mit der 
richtigen Adresse verknüpft, kommt nichts an.
Gast #3098705
Lesenswert?

da ich zwischen diesen auswählen kann sobald ich einen gewissen 
Prozentsatz an Buchstabeneingeben habe gehe ich davon aus das diese 
korrekt vordefiniert sind... vermutlich in der avr/io.h...

Ich kann mich auch irren aber bin auch für jede HIlfe dankbar !
Gast #3098712
Lesenswert?

Ja, das sollte irgendwo dort drin stehen, aber du könntest es zB falsch 
schreiben ....,

Nicht zu hoch bewerten, war nur eine mögliche Idee ...
Wenn du das auswählen kannst, sollte es auch passen.
#3098722
Lesenswert?

Anfänger schrieb:
> was ist wenn while() nicht ausgeführt wird?
Das gibt Mecker vom Compiler, aber

while(1)
{
...
}
wird solange ausgeführt bis der Controller kaputt geht.

j. t. schrieb:
> Stehen die Bezeichener nicht "#include <avr/io.h>" hier drin?
Nein da stehen die nicht drin.
Die entsprechende Headerdatei wird automatisch included.
Voraussetzung dafür ist natürlich, daß der richtige Controller 
eingestellt ist.

da_Rula schrieb:
> wird über den AVRISP MKII angesprochen  mehr ist da nicht dran
Und da muss auch die richtige Datei zum Flashen ausgewählt sein. Das 
wird nicht automatisch geändert. Da steht aktuell immer die zuletzt 
benutzte drin. Und wenn das vor zwei Jahren war.

mfg.
Gast #3098726
Lesenswert?

Anfänger schrieb:
> was ist wenn while() nicht ausgeführt wird?

Hallo Anfänger,

while(1) bedeutet:
"führe die Schleife aus, solange die Zahl 1 nicht den Wert 0 besitzt". 
Dies ist ein häufiges Konstrukt (nicht nur in C) um eine Endlosschleife 
darzustellen.

> Sind deine Bezeichner auch korrekt vordefiniert?

Der C-Code ist für den AVR-GCC geschrieben. In der Headerdatei 
'avr/io.h' werden die richtigen Definitionen für die gewählte MCU 
eingebunden.

> Wenn du PORTA = ..., ausgibst und der Bezeichner PORTA ist nicht mit der
> richtigen Adresse verknüpft, kommt nichts an.

Damit hast du vollkommen recht. In 'avr/io.h' sind Bedingungen 
enthalten, die dazu führen, dass anhand der dem Compiler mitgeteilten 
MCU die richtigen Registerzuweisungen vorgenommen werden.

Ich denke mal, der Fragesteller hat dem gcc einen falschen Wert für den 
Parameter mcu übergeben, oder der MC ist zerschossen oder falsch 
beschaltet.
#3098729
Lesenswert?

:D
Das ist auch ne gute Idee, hatte ich auch mal, hab das Programm in 
Controller geflasht, und es hat partout nicht das gemacht was es sollte. 
Ich war schon kurz vor dem Verzweifeln, hab dann noch einmal geflasht, 
dabei hab ich im Augenwinkel gesehen, das ich nicht in dem Pfad war, wo 
die "richtige" .hex steht. *gg

Gaaaanz einfach Lösung, muss man aber auch erstmal draufkommen. Quasi so 
simpel, das man vor lauter Bäumen den Wald nicht sieht =)

MfG Chaos
Gast #3098730
Lesenswert?

Einen Tanz im Bereich von 0 bis 3,5V habe ich nur erlebt, als ich die 
JTAG-Einstellung falsch gesetzt habe. Aber nur an den zugehörigen 
Anschlüssen.
Stimmen Deine Einstellungen bezüglich des Prozessors?
Das Programm sollte es eigentlich nicht sein.
Was benutzt Du zum Programmieren (Entwicklungsumgebung) und mit wem 
sprichst Du (Prozessor)?
#3098744
Lesenswert?

Wenns an JTAG läge, dürften doch eigentlich nur die Pins 1-4, oder 
welche es auch immer genau sind weiß ich nich ausm Kopf, am PortC 
ganicht reagieren. Die anderen sollten ganz einfach auf 1 bzw 5V gehen. 
Die 3,5V klingen ein wenig nach nem Pin der schnell an und aus 
geschaltet wird, und dann mit nem DVM gemessen wird(Effektivwert)....

Von daher sieht es tatsächlich nach falsch geflasht aus.
Gast #3098750
Lesenswert?

Beim Flashen aus dem Studio 4 habe ich des Öfteren mal Blödsinn gemacht. 
Der Flash-Dialog ist nämlich reichlich "nachtragend".
Er merkt sich den zuletzt eingestellten Prozessor auch wenn mittlerweile 
ein anderer Zuhause ist.
Auch änderte sich die eingestellte Hex-Datei (LW:Pfad:Name) nicht. 
Erschwerend kam hinzu, dass immer nur der erste Teil des Pfades 
angezeigt (sichtbar) wurde und bei der Länge der heutigen Wege selbst 
beim Wechsel des ganzen Projektes keine Änderung zu sehen war.
Keine Ahnung wie die bei den aktuellen Studios ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren