www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega164p und enable


Autor: Kurt Bindl (kurt-b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

was ist falsch?
Stelle gerade von MEGA32 auf MEGA164p um.



'$regfile = "m32def.dat"

$regfile = "m164Pdef.dat"
$baud = 1200
$crystal = 8000000

....
Config Timer0 = Timer , Prescale = 256

....


 ' --------- Vorbereitungen ------------

  Enable Timer0

  Enable Interrupts

-------------------------------------
Beim M32 läuts,
beim M164P kommt bei -Enable Timer0- eine Fehlermeldung

Error 202  EQU not found....

Warum mag der das nicht?

Kurt

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach's doch einfach mal wie die Programmierer in den anderen 
Programmiersprachen:

- Lies (und versteh') das Datenblatt des betreffenden AVRs.

- Schreib' die entsprechenden (aus Steuerbits zusammengesetzte) Werte
  durch normale Zuweisungen in die entsprechenden Steuerregister
  (I/O-Bereich) der internen Peripherie-Module.

Auf diese Weise lernst Du die Möglichkeiten der (sehr unterschiedlich 
ausgestatteten) AVR-Peripherie-Module kennen und kannst Betriebsarten 
nutzen, die Dir von Bascom vorenthalten werden. Das ganze Confif-, 
Enable- und Disable-Geraffel ist doch (zumindest für interne 
Hardware-Module) kontraproduktiv und macht mehr Schaden als Nutzen.

...

Autor: Kurt Bindl (kurt-b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes Lux schrieb:
> Mach's doch einfach mal wie die Programmierer in den anderen
> Programmiersprachen:
>
> - Lies (und versteh') das Datenblatt des betreffenden AVRs.
>
> - Schreib' die entsprechenden (aus Steuerbits zusammengesetzte) Werte
>   durch normale Zuweisungen in die entsprechenden Steuerregister
>   (I/O-Bereich) der internen Peripherie-Module.
>
> Auf diese Weise lernst Du die Möglichkeiten der (sehr unterschiedlich
> ausgestatteten) AVR-Peripherie-Module kennen und kannst Betriebsarten
> nutzen, die Dir von Bascom vorenthalten werden. Das ganze Confif-,
> Enable- und Disable-Geraffel ist doch (zumindest für interne
> Hardware-Module) kontraproduktiv und macht mehr Schaden als Nutzen.
>
> ...

Hallo Hannes, was du schreibst ist richtig.
Jedoch ist mir auch das -Hemd näher als die Hose-.
Und das Hemd sagt halt "schau dass du die Karre zum laufen bringst".

Lies (und versteh'), schreibst du.
Gerne, jedoch ist das Lesen der englischen Texte für mich eine 
Hürdenspringerei, kann kein englisch.

Im PDF zum 164p hab ich nach dem Kontrollregister für  die 
Interruptfreigabe(n) gesucht.
Ausser für die externen IR und dem generellem Freigabebit bin ich nicht
fündig geworden. Unter welchem Stichwort ist das versteckt?

Kurt

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurt Bindl schrieb:
> Im PDF zum 164p hab ich nach dem Kontrollregister für  die
> Interruptfreigabe(n) gesucht.
> Ausser für die externen IR und dem generellem Freigabebit bin ich nicht
> fündig geworden. Unter welchem Stichwort ist das versteckt?

Guckst Du Datenblatt Inhaltsverzeichnis:

14. 8-bit Timer/Counter0 with PWM

14.9 Register Description

14.9.6 TIMSK0 – Timer/Counter Interrupt Mask Register

Bit 0 – TOIE0: Timer/Counter0 Overflow Interrupt Enable



Peter

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurt schrieb:

> Gerne, jedoch ist das Lesen der englischen Texte für mich eine
> Hürdenspringerei,

Das ist es für Andere (auch für mich) auch.

> kann kein englisch.

Dann suche Dir ein anderes Hobby als das Programmieren von 
Mikrocontrollern. Ganz ohne Englisch wird es nicht gehen, nichtmal mit 
Bascom.

Ich hatte auch nie Englisch-Unterricht, die Tatsache, dass ich 
inzwischen (halbwegs holpernd) ein AVR-Datenblatt lesen kann, hat mit 
sehr häufigem Nachschlagen im Wörterbuch (Papier) zu tun.

Ohne Fleiß kein Preis, irgendwann musst Du damit anfangen, wenn Du 
weiter mit den AVRs arbeiten/basteln willst, warum nicht jetzt??


Peter schrieb:

> Guckst Du Datenblatt Inhaltsverzeichnis: ...

Danke, nun brauch ich diese Frage nicht mehr beantworten... ;-)

...

Autor: Kurt Bindl (kurt-b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Kurt Bindl schrieb:
>> Im PDF zum 164p hab ich nach dem Kontrollregister für  die
>> Interruptfreigabe(n) gesucht.
>> Ausser für die externen IR und dem generellem Freigabebit bin ich nicht
>> fündig geworden. Unter welchem Stichwort ist das versteckt?
>
> Guckst Du Datenblatt Inhaltsverzeichnis:
>
> 14. 8-bit Timer/Counter0 with PWM
>
> 14.9 Register Description
>
> 14.9.6 TIMSK0 – Timer/Counter Interrupt Mask Register
>
> Bit 0 – TOIE0: Timer/Counter0 Overflow Interrupt Enable
>
>
Aja, sehr gut.
unter 12.9.6 hab ichs gefunden.

Seh ich das richtig dass der Compiler den Namen, hier TIMSK0, dieses 
Registers kennt, man nur anzugeben braucht das er es und wie er es zu 
setzen hat?

Kurt

Autor: Kurt Bindl (kurt-b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes Lux schrieb:
>
> Das ist es für Andere (auch für mich) auch.
>

> Dann suche Dir ein anderes Hobby als das Programmieren von
> Mikrocontrollern. Ganz ohne Englisch wird es nicht gehen, nichtmal mit
> Bascom.
>
Naja, soviel bring ich meisst schon zusammen damits für die 
gelegentlichen Ausflüge in die Progerei halbwegs reicht.

> Ich hatte auch nie Englisch-Unterricht,
>
Und ich dachte schon ich wär so ziemlich der Einzige.

>
> die Tatsache, dass ich
> inzwischen (halbwegs holpernd) ein AVR-Datenblatt lesen kann, hat mit
> sehr häufigem Nachschlagen im Wörterbuch (Papier) zu tun.
>
> Ohne Fleiß kein Preis, irgendwann musst Du damit anfangen, wenn Du
> weiter mit den AVRs arbeiten/basteln willst, warum nicht jetzt??
>
Ich weiss, ohne hilfreiche Forenschreiber wär man da noch viel mehr 
gefordert/angespornt (oder noch mehr aufgeschmissen).


Kurt

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Seh ich das richtig dass der Compiler den Namen, hier TIMSK0, dieses
> Registers kennt, man nur anzugeben braucht das er es und wie er es zu
> setzen hat?

Das kommt auf den Autor des Compilers an.

Der Assembler des AVR-Studios kennt diese Namen, denn sie werden mittels 
einer Include-Datei bekannt gemacht.

Der GCC-Compiler kennt die Namen wohl auch, denn die C-Freaks bitten 
ihre Anfänger darum, die Namen der Register und deren Bits zu benutzen.

Inwieweit Bascom das unterstützt, weiß ich nicht, ich halte es für 
möglich, dass Bascom bei neueren AVRs nicht immer aktuell ist.

> Ich weiss, ohne hilfreiche Forenschreiber wär man da noch viel mehr
> gefordert/angespornt (oder noch mehr aufgeschmissen).

Das stimmt, daher empfinde ich hier manche (zu ausführliche) Hilfe als 
kontraproduktiv. Aber mir gelingt es auch nicht immer, mundgerechte 
Hilfe zu vermeiden. ;-)

...

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.