www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PORT=not PORT frage


Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich habe eine frage und zwar habe ich mir ein Buch gekauft um 
Bascom zu lernen.Jetzt habe ich ein Programm geschrieben um mit Timer0 
ein Signal für einen Pieper zu erzeugen das klapt auch.Aber gleichzeitig 
habe ich in meiner Hauptschleife den befehl

do
portd.7=not portd.7
waitms 200
loop

Der Timer0 hat eine interrupt routine.

Im Programm sind crystal richtig eingestellt und die Fusebits sind auch 
richtig aber die led blinkt nicht auch wenn ich sie auf eine sek. stelle 
warum?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hast du den Port Pin ja nicht auf Ausgang gestellt?


Du hast jetzt schon ein paar mal gepostet.
Eigentlich solltest du schon wissen, dass man komplette Programme 
herzeigt, damit sich die Helfer den nicht gezeigten Rest nicht 
dazuerfinden müssen.

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
$regfile = "m8def.dat"
$crystal = 3686400

On Timer0 Ontimer0
Ddrd = &B11000000
Config Timer0 = Timer , Prescale = 8
Enable Timer0
Enable Interrupts
'----------------------------------------------------------------------- 
--------
Do
portd.7=not portd.7
Wait 1
Loop
End
'----------------------------------------------------------------------- 
-------
Ontimer0:
Portd.6 = Not Portd.6
Return

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sollte man nicht so machen. Ueberlegen was genau geschieht und eine 
Hilfsvariable verwenden.


PortD.7:=HVar;
HVar:=not HVar;

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So steht es im Buch geschrieben von Roland Walter.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sollte gehen

Die LED ist richtig angeschlossen?

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ist richtig angeschlossen an PD7 sie ist auch an aber blinkt 
nicht.Externe quarz ist auch dran und eingestellt.Der Summer geht auch.
Habe es auch schon mit dem toogle befehl versucht

Autor: Yo! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die LED blinkt evtl zu schnell und es sieht so aus als wäre sie ständig 
an?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich nicht bestätigen.
Gerade in einen Mega16 gebrannt (hab keinen Mega8 mehr da)
2 LED agieren

die an Pin7 blinkt, so wie sie es soll
die an Pin6 blinkt auch, nur seh schnell, so dass man das Blinken selber 
nicht mehr sieht. Ist aber auch klar, die Timer Interrupts kommen sehr 
schnell.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sein, dass dir dein Summer das System ständig zum Absturz 
bringt?

Wie sieht deine Hardware aus?

Autor: Nikolausi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
'-------------------
Do
portd.7=not portd.7
Wait 1
Loop
End
'-------------------
wenn die LED an PD7 ist, kann es sein das
WAIT 1 einfach nur viel zu kurz ist um
ein Blinken su sehen ?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nikolausi schrieb:
> '-------------------
> Do
> portd.7=not portd.7
> Wait 1
> Loop
> End
> '-------------------
> wenn die LED an PD7 ist, kann es sein das
> WAIT 1 einfach nur viel zu kurz ist um
> ein Blinken su sehen ?

Nope. Die 1 sind hier 1 Sekunde.
Selbst wenn er mit dem Takt grob daneben liegt, blinken muss sie auf 
jeden Fall.

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ich hatte vorher wie im Programm ms 200 eingestellt dann habe ich mir 
auch gedacht das sie vielleicht zu schnell ist und auf 1s erhöht

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich tipp eher auf wieder mal nicht verbaute Blockkondensatoren, so dass
der µC ständig resettet, wenn der Summer einschaltet.

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt die Startuptime auf 64ms gestellt und siehe da es geht.

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Testboard von myavr da sind alle Kondensatoren usw. verbaut

: Wiederhergestellt durch User
Autor: Di Pi (drpepper) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso??? entscheidet man sich bloß für Bascom?

Autor: weinbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum nur tut man sich C an wenn es auch eine schöne Syntax gibt

Autor: weinbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ps:

toggle portd.7

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weinbauer schrieb:
> warum nur tut man sich C an wenn es auch eine schöne Syntax gibt

Du meinst so wie in BASCOM, wo man keine arithmetischen Ausdrücke mit 
mehr als einem Operator schreiben kann?

(Nichts für ungut, BASCOM ist nicht so schlecht wie sein Ruf hier)

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Außerdem finde ich Bascom einfacher zu lernen.Wenn ich dann erstmal raus 
habe wie genau so ein MC funktioniert und einsetzbar ist kann ich immer 
noch C lernen

Autor: Di Pi (drpepper) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso??? schrieb:
> Wenn ich dann erstmal raus
> habe wie genau so ein MC funktioniert und einsetzbar ist kann ich immer
> noch C lernen

Da hast du auch wieder recht :)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso??? schrieb:
> Außerdem finde ich Bascom einfacher zu lernen.Wenn ich dann erstmal raus
> habe wie genau so ein MC funktioniert und einsetzbar ist kann ich immer
> noch C lernen

BASCOM ist der leichte Weg.
Damit wirst du nicht besonders viel darüber lernen, wie dein µC 
funktioniert.
So wie sich 'Malen nach Zahlen' nicht besonders gut dazu eignet, malen 
zu lernen. Man hat schnelle Erfolgserlebnisse, ja. Aber all die Themen, 
die Malen erst spannend machen: Themenwahl, Licht und Schatten, 
Farbwahl, Bildkomposition, all das hat bereits jemand vorgedacht und so 
aufbereitet, dass man sich keine Gedanken mehr darüber machen muss.

BASCOM ist ähnlich. Für die meisten Dinge, auf die du in nächster Zeit 
stossen wirst, gibt es vorgefertigte Bausteine. Dagegen ist so erst mal 
nichts zu sagen, das garantiert erste Erfolgserlebnisse. Nur Einblicke, 
wie die Dinge funktionieren ... die gewinnt man dadurch nicht.

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ehrlich gasagt hatte ich sogar erst mit C angefangen,aber ich hatte nur 
sehr kleine Erfolge wie z.B. Led anschalten ausschalten und das ganze 
auch mit Taster.Aber das war es auch schon.Mit Bascom habe ich jetzt es 
schon geschaft den Timer/LCD/ADC usw. zu benutzen.Zwar hatten die 
Programme nicht wirklich einen sinn aber zum üben waren sie ok.Mir geht 
es nähmlich tierisch auf die nerven bei C immer auf andere angewiesen zu 
sein.Ich will das endlich mal alleine schaffen irgendwas zu 
programmieren

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: Man muss ja nicht die Bausteine benutzen wie z.B. beim Timmer
ich kann ja auch die einzelnen Register selbständig Programmieren in dem 
Buch sind immer beide Wege beschrieben

Autor: weinbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was die Highlevelbefehle angeht, die sind in Bascom wenigstens
dokumentiert, wie viele Threads hier gab's schon von
wegen Funktion X mit Lib von Hans Müller, ich bekomms nicht hin ... ??

Schenkt sich dann auch nix.
Und wie schon geschrieben, den direkten Zugriff auf die Register hat man 
in Bascom auch.
Die Arithmetik ist nervig, zugegeben.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weinbauer schrieb:
> Was die Highlevelbefehle angeht, die sind in Bascom wenigstens
> dokumentiert,

nur lesen sie die wenigsten Fragsteller :-)

> wie viele Threads hier gab's schon von
> wegen Funktion X mit Lib von Hans Müller, ich bekomms nicht hin ... ??

Eigentlich relativ wenige.
Die meisten Threads drehen sich um LCD. Und da stellt sich dann oft 
raus, dass der Anschluss falsch war, dass die Taktfrequenz nicht stimmt 
oder dgl.

Und wenn es tatsächlich Fragen nach irgendwelchen Funktionen gibt, dann 
ist das Problem hie wie da dasselbe: Selbstüberschätzung und das 
Nichtlesen von Doku

> Schenkt sich dann auch nix.

Genau

Autor: Wieso??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immerhin schätze ich micht richtig ein!!!

ICH KANN NICHTS :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.