Hallo zusammen Ich habe eine Anwendung mit dem Atmega168 realisiert. Funktioniert soweit ganz gut. Leider benötige ich, zwechs höherer Auflösung noch einen zweiten 16bit Timer. Ich möchte das Programm mit möglichst wenig Anpassungen übernehmen können. (dass ein paar Registernamen ändern ist klar und wird unvermeidbar sein) Welche Alternativen gibt es? Ich habe mir schon den Atxmega16A4 angesehen. Dieser bietet ja massiv mehr Leistung. Aber ändert sich bei diesem etwas an der Art der programmierung oder ist alles gweohnt einfach geblieben? Kann man den auch mit dem usbasp programmieren über die ISP Schnittstelle? Idealerweise hätte der alternative uC 5V vertragen... der Atxmga kann das ja nicht. dafür aber 32MHz Danke euch!
Moin, ich weiß, dass der ATMEGA1280 4 16-Bit Counter hat, da ich mal mit dem gearbeitet habe. 5V kann er auch. http://www.atmel.com/devices/ATMEGA1280.aspx Vielleicht ist der aber auch etwas "zu groß". Ich gehe mal davon aus, dass du so oder so immer Register/Portbezeichnungen in deinem Programm ändern musst, wenn du auf einen genzlich anderen µC umsteigst.
Markus schrieb: > Aber ändert sich bei diesem etwas an der Art der programmierung oder ist > alles gweohnt einfach geblieben? Andere Syntax > Kann man den auch mit dem usbasp programmieren über die ISP > Schnittstelle? PDI-Interface (AVR ISP mk2 kann das)
Yamoto schrieb: > Vielleicht ist der Mega64 was für dich? > > http://www.atmel.com/devices/ATMEGA64.aspx Danke! Werde ich prüfen... Ingo schrieb: > Markus schrieb: >> Aber ändert sich bei diesem etwas an der Art der programmierung oder ist >> alles gweohnt einfach geblieben? > > Andere Syntax Was meinst du damit?
Markus schrieb: > Leider benötige ich, zwechs höherer Auflösung noch einen zweiten 16bit > Timer. Oftmals wird ein Timer einfach für mehrere Sachen eingesetzt. Z.B. lassen sich mit den TIMER1-COMPA, TIMER1-COMPB, TIMER1-OVF Interrupts 3 unabhängige Frequenzen erzeugen. Und man kann auch einen 8Bit-Timer im Interrupthandler mit einem zusätzlichen Zählbyte auf 16Bit pimpen. Man kann auch einen Interrupt mit z.B. 1ms erzeugen und darin beliebig viele Zähler als Vielfaches von 1ms aufsetzen.
Peter Dannegger schrieb: > Und man kann auch einen 8Bit-Timer im Interrupthandler mit einem > zusätzlichen Zählbyte auf 16Bit pimpen. Wäre schön wenn dies bei mir gehen würde... Im fall, dass ich nun einen 16bit Counter hätte, würde dieser mit den vollen 20MHz counten. Und würde dann bei einer bestimmten Stelle (um die 100kHz) somit also ein Register Wert um die 200 ein anderes Register beschreiben. Würde ich nun das hochzählen in Software lösen, würde dies viel zu viel rechenaufwand ergeben
Sag dochmal konkret, was soll der 2. 16Bit-Timer machen und womit ist der 1. 16Bit-Timer bereits beschäftigt.
Ausgang von 8bit-Timer auf Eingang von 8bit-Timer? Bitte nicht hauen, ich habe das für mein erstes Projekt (LC-Meter) mal so gemacht.
@ Markus (Gast) >Im fall, dass ich nun einen 16bit Counter hätte, würde dieser mit den >vollen 20MHz counten. Counter counten und Zähler zählen, eigentlich logisch. 8-0
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.