ATMega324PB/Konflikt UART2 und OC2A?

OP #6107970
Lesenswert?

1
void main(void)
2
{
3

4
// Port D initialization
5
// Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
6
DDRD=(1<<DDD7) | (1<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
7
// State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
8
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
9

10
// Timer/Counter 2 initialization
11
// Clock source: System Clock
12
// Clock value: 125,000 kHz
13
// Mode: Fast PWM top=0xFF
14
// OC2A output: Non-Inverted PWM
15
// OC2B output: Non-Inverted PWM
16
// Timer Period: 2,048 ms
17
// Output Pulse(s):
18
// OC2A Period: 2,048 ms Width: 0,77101 ms
19
// OC2B Period: 2,048 ms Width: 1,028 ms
20
ASSR=(0<<EXCLK) | (0<<AS2);
21
TCCR2A=(1<<COM2A1) | (0<<COM2A0) | (1<<COM2B1) | (0<<COM2B0) | (1<<WGM21) | (1<<WGM20);
22
TCCR2B=(0<<WGM22) | (1<<CS22) | (0<<CS21) | (0<<CS20);
23
TCNT2=0x00;
24
OCR2A=0x60;
25
OCR2B=0x80;
26

27
// USART2 initialization
28
// Communication Parameters: 8 Data, 1 Stop, No Parity
29
// USART2 Receiver: On
30
// USART2 Transmitter: On
31
// USART2 Mode: Asynchronous
32
// USART2 Baud Rate: 9600
33
UCSR2A=(0<<RXC2) | (0<<TXC2) | (0<<UDRE2) | (0<<FE2) | (0<<DOR2) | (0<<UPE2) | (0<<U2X2) | (0<<MPCM2);
34
UCSR2B=(0<<RXCIE2) | (0<<TXCIE2) | (0<<UDRIE2) | (1<<RXEN2) | (1<<TXEN2) | (0<<UCSZ22) | (0<<RXB82) | (0<<TXB82);
35
UCSR2C=(0<<UMSEL21) | (0<<UMSEL20) | (0<<UPM21) | (0<<UPM20) | (0<<USBS2) | (1<<UCSZ21) | (1<<UCSZ20) | (0<<UCPOL2);
36
UBRR2H=0x00;
37
UBRR2L=0x33;
38

39
// Ensure that the USART2 is enabled
40
PRR2&= ~(1<<PRUSART2);
41

42
while (1)
43
      {
44
      }
45
}

Sobald RXEN2 und/oder TXEN2 gesetzt werden, ist OC2A tot. OC2B läuft 
weiter, UART funktioniert auch.
Das einzige, was mir sinnvoll erscheint ist das XCK2-bit, aber:

–  XCK2: USART2 External clock. The Data Direction Register (DDRD7) 
controls whether theclock is output (DDRD7 set “1”) or input (DDRD7 
cleared). The XCK2 pin is active only when the USART2 operates in 
Synchronous mode.

Überseh ich was (nehme ich an) oder ist da ein Fehler im Chip?
OP #6108082
Lesenswert?

Na super :-(
Wenigstens weiss ich jetzt woran ich bin, wiedermal auf den 
Musterplatinen rumkratzen und fädeln.
Warum schreiben die das verdammt noch mal nicht ins Datenblatt wenn sie 
es schon seit min. 2 Jahren wissen? Sollte nicht beim Chipdesign 
passieren, passiert aber immer wieder, ok ist so.
Aber kommuniziert werden sollte es so schnell wie möglich!
OP #6108668
Lesenswert?

Ich habe nichts (ausser nachträglich hier und bei avrfreaks) darüber 
gefunden, bei Microchip selbst steht da gar nichts, nirgendwo.
Die errata-Sektion ist das erste was ich lese, wenn ich einen für mich 
neuen Chip benutze. Dann kann ich im Vorfeld entscheiden, ob die Fehler 
mich im geplanten Projekt betreffen oder nicht und ggf. umsteuern, sei 
es der Chip selbst oder einfach nur die Peripheriebeschaltung passender 
gestalten. So ist es einfach nur unnötiger und frecher Murks.
#6109586
Lesenswert?

Hallo,

die Nummer gibts leider nicht. Auch mit Login gibts die Nummer nicht 
wenn ich über alles suchen lasse. Die case Nummer 337765 ist 
wahrscheinlich nur für dich in deinem Login gültig. Denn man landet 
immer in "my case". Eine allgemeine Suche nach atmega324pb ergibt 2 
andere Artikel.
Beitrag #6110057 wurde von einem Moderator gelöscht.
#6110058
Lesenswert?

Veit D. schrieb:
> Hallo,
>
> die Nummer gibts leider nicht.

Doch.

> Auch mit Login gibts die Nummer nicht
> wenn ich über alles suchen lasse.

MicroChip verheimlicht was vor Dir. Na na na ...

> Die case Nummer 337765 ist
> wahrscheinlich nur für dich in deinem Login gültig.

Dann bin ich wohl besser dran ;-)

>Denn man landet
> immer in "my case". Eine allgemeine Suche nach atmega324pb ergibt 2
> andere Artikel.

Artikel sind keine support-cases.
#6110550
Lesenswert?

Hallo,

sehe ich anders. "Meine" direkten Anfragen gehen andere Leute nichts an. 
Absolut gar nichts! Ich könnte ja von einer Konkurrenzfirma sein zu 
deiner Firma. Thema Datenschutz.
Wenn deine Anfrage einen echten Bug betrifft und Microchip den Bug 
bestätigt, dann müssen und sollten sie auf Grund deiner Anfrage ein 
offiziellen Errata daraus machen. Aber nicht! deine Anfrage einfach 
veröffentlichen. Das ist ein sehr großer Unterschied.

Wenn du das halbwegs öffentlich haben möchtest gibts noch das Microchip 
Forum. Nur wer sucht schon in einem Forum nach Errata. Da bemüht man 
eher Google und hofft auf Treffer. Den anderen Thread von hier hatte 
auch nur über Google gefunden.

Das sie bis heute dafür kein Errata herausgebracht haben kannst du 
meinetwegen Vertuschung nennen.

Meine Ansicht.

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