Forum: Mikrocontroller und Digitale Elektronik Mega164p und enable


von Kurt B. (kurt-b)


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

von Hannes L. (hannes)


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.

...

von Kurt B. (kurt-b)


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

von Peter D. (peda)


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

von Hannes L. (hannes)


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... ;-)

...

von Kurt B. (kurt-b)


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

von Kurt B. (kurt-b)


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

von Hannes L. (hannes)


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. ;-)

...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.