Tiny13 Clock Prescaler Simulator Fehler?

Gast #4458271
Lesenswert?

Hallo,

ich habe ein Problem mit dem Simulator 2 und dem Clock Prescaler beim 
Tiny13.
1
  LDI temp, (1<<CLKPCE)
2
  STO CLKPR, temp
3
  LDI temp, (1<<CLKPS2) | (1<<CLKPS0)
4
  STO CLKPR, temp
Sollte laut Datenblatt Seite 28 ein Prescaler vom 32 ergeben. Im 
Simulator wird aber 64 angezeigt.
Wenn 0x00 in CLKPR geschrieben wird, wird ein Prescaler von 8 im 
Simulator angezeigt, während es 0 sein müsste.

Hat der Simulator hier eine Fehler, oder übersehe ich etwas?

Danke für Hilfe
(Firma: Vescomp) #4458314
Lesenswert?

Stefan schrieb:
> Hat der Simulator hier eine Fehler, oder übersehe ich etwas?

 Fehler im Simulator.
 Probiere mal folgendes:
1
  LDI temp, (1<<CLKPCE)
2
  STO CLKPR, temp
3
  LDI temp, (1<<CLKPS2) | (1<<CLKPS0)
4
  STO CLKPR, temp
5
;****************************
6
  CLR temp
7
  IN  temp, CLKPR
8
;****************************

 Aber das ist normal beim Atmel - AvrStudio ist so etwas von Mist...
Gast #4458370
Lesenswert?

>Probiere mal folgendes:
Im Register steht danach 0x05, also der Wert der Laut Datenblatt einen 
PSK von 32 ergibt. Insofern passt das.

Könnte es eventuell etwas mit der CKDIV8 Fuse zu tun? Im Datenblatt 
steht dazu nur der nichtssagende Satz "The device is shipped with the 
CKDIV8 fuse
programmed.".
Gast #4458449
Lesenswert?

Hi

>Also CKDIV8 addiert 0x01 auf CLKPR.

Das halte ich für den eigentlichen Bug im 2er Simulator. Eine Zuweisung 
mit out sollte das Register überschreiben und nichts Addieren. 
Allerdings gibt es immer einige Diskrepanzen zum realen Controller. 
Nobody is perfect.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren