Forum: Mikrocontroller und Digitale Elektronik Atmega88 USART SPI Mode


von Besucher (Gast)


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

von Timmo H. (masterfx)


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

: Bearbeitet durch User
von S. Landolt (Gast)


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

von Besucher (Gast)


Lesenswert?

Ja .. danke, ich habe den PA und dies auch ausgewählt. Mit einer "1" 
läuft das jetzt auch alles.

von Besucher (Gast)


Lesenswert?

.. Ich dachte der ATmega88 wäre eher ein neuer um den ATmega8 zu 
verdrängen ..

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.