Forum: Mikrocontroller und Digitale Elektronik ATMega324PB/Konflikt UART2 und OC2A?


von H.Joachim S. (crazyhorse)


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?

von Wilhelm M. (wimalopaan)


Lesenswert?

Ist ein offizieller Chip-Bug

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?


von H.Joachim S. (crazyhorse)


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!

von Veit D. (devil-elec)


Lesenswert?

Ein offizielles Errata habe ich auch nicht gefunden.

von Wilhelm M. (wimalopaan)


Lesenswert?

Veit D. schrieb:
> Ein offizielles Errata habe ich auch nicht gefunden.

Schau in den MicroChip Support-Cases nach.

von H.Joachim S. (crazyhorse)


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.

von Veit D. (devil-elec)


Lesenswert?

Wilhelm wie siehts aus, hättest du einen Link für uns? Selbst nachlesen 
soll auch Spass machen.  :-)   Nicht falsch verstehen, ich/wir glauben 
dir ja, nur hätte ich es jetzt auch gern komplett.

von Wilhelm M. (wimalopaan)


Lesenswert?

Veit D. schrieb:
> Wilhelm wie siehts aus, hättest du einen Link für uns?

Es ist case#: 00337765 in der Case-DB von MicroChip

von Veit D. (devil-elec)


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.

von Wilhelm M. (wimalopaan)


Angehängte Dateien:

Lesenswert?

Zur Info

von Wilhelm M. (wimalopaan)


Angehängte Dateien:

Lesenswert?

noch eine Seite

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich muss nur richtige Vermutungen anstellen und hartnäckig bleiben, dann 
klappt das.   :-)
Schön das du mitspielst.

Beitrag #6110057 wurde vom Autor gelöscht.
von Wilhelm M. (wimalopaan)


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.

von M. K. (sylaina)


Lesenswert?

Wilhelm M. schrieb:
> MicroChip verheimlicht was vor Dir. Na na na ...

Ist halt die Frage ob er deine Support-Cases lesen kann ;)

von Veit D. (devil-elec)


Lesenswert?

Hallo,

bin jetzt auch über Wilhelms Antwort überrascht. Deine Bilder zeigen 
doch das du in deinem case in deinem Login bist. Nur du siehst das. 
Ansonsten könntest du einen Link posten.

Wäre laut meiner Meinung nach auch blöd wenn Microchip jede Anfrage 
öffentlich macht.

von Wilhelm M. (wimalopaan)


Lesenswert?

Veit D. schrieb:
> Wäre laut meiner Meinung nach auch blöd wenn Microchip jede Anfrage
> öffentlich macht.

Nach meiner Meinung sollten sie das schon tun. So hat des Anschein der 
Vertuschung.

von Veit D. (devil-elec)


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.

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.