Anzeige:

Timer-Problem...

Hier finden sie die archivierten Beiträge des alten PHPBB Forums von www.loetstelle.net

Timer-Problem...

Von pcprofi am 19.12.2008 10:42

Hallo Jungs,

ich hab mal wieder ein Projekt... AtMega8.

Multiplexanzeige -> läuft im Moment aufm Timer1.

Problem: Ich brauche den Timer1 eigentlich für eine andere Aufgabe - geht fast in Richtung Uhr. Daher müsste ich das Multiplexing auf einen anderen Timer verschieben, kriege BASCOM das aber nicht beigebracht...
Wie krieg ich denn z.B. Timer2 dazu, nach einer bestimmten Anzahl Ticks den Interrupt auszulösen und dann wieder sich selbst zu resetten? Ich bin da irgendwie zu blöd für...

Schon mal danke,

Gruß Rainer

Von BellaD am 19.12.2008 11:02

moin


das Zauberwort : Clear Timer on Compare Match (CTC) Mode

und das Timer/Counter Interrupt Mask Register – TIMSK nicht vergessen um den entsprechenden Int. zu erlauben.

Wie du das in Bascom bewerkstelligst ,sorry kein Plan Wink

hf

Re: Timer-Problem...

Von gerold am 19.12.2008 11:19

pcprofi hat folgendes geschrieben:
Wie krieg ich denn z.B. Timer2 dazu, nach einer bestimmten Anzahl Ticks den Interrupt auszulösen und dann wieder sich selbst zu resetten?

Hallo Rainer!

Ungetestet:
Code:
'Timer und Interrupt konfigurieren
Config Timer2 = Timer , Prescale = 1 , Compare = Clear
On Oc2 On_oc2

'Overflow-Wert einstellen
Compare2 = 100

'Interrupts einschalten
Enable Timer2
Enable Interrupts


'Hauptschleife
Do
   !nop
Loop
End


'OC2-ISR
On_oc2:
   !nop
Return

lg
Gerold
Smile

Von pcprofi am 20.12.2008 16:26

Dankeschön, ihr beiden... Läuft jetzt perfekt.

Nur mal aus Interesse: Gibt es eine Möglichkeit, den Chip so gegen Auslesen des Programms sichern, dass er sich trotzdem noch updaten lässt? Eben nur nicht auslesen?

Gruß Rainer

Von BellaD am 20.12.2008 16:33

moin

read the f.... manual Wink

die fuses müssten sich eigentlich rücksetzen lassen , schlimmsten falls im HV -modus ....

Von pcprofi am 20.12.2008 16:52

Immer zuerst.

Mir ist auch klar, wie das aussperren geht - nur eben in Bezug auf die Fragestellung oben kam ich eben nicht weiter... Bzw komm ich leider immernoch nicht Wink

Und mit dem HV-Programming hatte ich leider auch noch nie was zu tun - nur immer fürn blödes Update oder Patch oder sonstwas nen neuen Chip is ja doof...

Deswegen ist die Frage leider noch immer offen...

Gruß Rainer

Von BellaD am 20.12.2008 17:49

moin


1. wenn du damit leben kannst den Chip jedesmal neu zu prog. dann ..
The Lock bits can
only be erased to “1” with the Chip Erase command. !

2. Boot Loader .. verbraucht ca. 1kB dafür aber update über rs232/USB-adapter
(ASURO macht es auch so - der Chip lässt sich nicht auslesen aber über Bootlader (IR) programmieren ).

Boot Loader Lock bits
The user can select:
• To protect the entire Flash from a software update by the MCU.
• To protect only the Boot Loader Flash section from a software update by the MCU.
• To protect only the Application Flash section from a software update by the MCU.
• Allow software update in the entire Flash.

Von pcprofi am 22.12.2008 12:39

Ich würde das wenn dann nur über die LockBits machen...

Das heißt, wenn ich die Lockbits so setze, dass ich weder schreiben noch lesen kann auf dem Chip dann kann ich das nur mit dem "Erase Chip"-Befehl wieder zurücksetzen? Und dieser Befehl löscht dann wohl den kompletten Chip oder wie sieht das aus?

Gruß Rainer

Anzeige: