Atmega88 USART SPI Mode

Gast #4472811
Lesenswert?

Ich wollte gerade einem ATmega88 das Spechen über USART in SPI Mode 
beibringen.

Also habe ich erstmal den Beispielcode aus dem Datenblatt kopiert 
[S.199]

Allerdings kennt mein Programm (Atmel Studio 6.2.1562 SP2) das Bit 
"UCPHA0" im Register UCSR0C nicht [S.204].

Im normalen Modus ist dieses Bit als "UCSZ00" bezeichnet, welches das 
Programm auch kennt [S.193].


Ist es jetzt egal, ob ich dort eine "1" oder ein "UCSZ00" anstelle des 
"UCPHA0" eintrage?

Datenblatt: 
http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf
#4472872
Lesenswert?

Also bei mir ist es drin, allerdings in der iom88p.h bzw. iom88a.h und 
nicht in der iom88pa.h und iom88pb.h ist es nicht drin.
1
#define UCSR0C _SFR_MEM8(0xC2)
2
#define UCPOL0 0
3
#define UCSZ00 1
4
#define UCPHA0 1
5
#define UCSZ01 2
6
#define UDORD0 2
7
#define USBS0 3
8
#define UPM00 4
9
#define UPM01 5
10
#define UMSEL00 6
11
#define UMSEL01 7

Welche genaue Bezeichnung hat dein Controller und welche hast du in 
Atmelstudio ausgewählt?
Vermutlich wurden die alten Header von den alten Controllern einfach 
nicht weiter gepflegt
Gast #4472877
Lesenswert?

In meinem m88def.inc steht:

; UCSR0C - USART Control and Status Register C
.equ  UCPOL0  = 0  ; Clock Polarity
.equ  UCSZ00  = 1  ; Character Size
.equ  UCPHA0  = UCSZ00  ; For compatibility
.equ  UCSZ01  = 2  ; Character Size
.equ  UDORD0  = UCSZ01  ; For compatibility
.equ  USBS0  = 3  ; Stop Bit Select
.
.
.

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