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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von H.Joachim S. (crazyhorse)


Bewertung
0 lesenswert
nicht lesenswert
void main(void)
{

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

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 125,000 kHz
// Mode: Fast PWM top=0xFF
// OC2A output: Non-Inverted PWM
// OC2B output: Non-Inverted PWM
// Timer Period: 2,048 ms
// Output Pulse(s):
// OC2A Period: 2,048 ms Width: 0,77101 ms
// OC2B Period: 2,048 ms Width: 1,028 ms
ASSR=(0<<EXCLK) | (0<<AS2);
TCCR2A=(1<<COM2A1) | (0<<COM2A0) | (1<<COM2B1) | (0<<COM2B0) | (1<<WGM21) | (1<<WGM20);
TCCR2B=(0<<WGM22) | (1<<CS22) | (0<<CS21) | (0<<CS20);
TCNT2=0x00;
OCR2A=0x60;
OCR2B=0x80;

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

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

while (1)
      {
      }
}


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)


Bewertung
0 lesenswert
nicht lesenswert
Ist ein offizieller Chip-Bug

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


Bewertung
0 lesenswert
nicht lesenswert

von H.Joachim S. (crazyhorse)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Ein offizielles Errata habe ich auch nicht gefunden.

von Wilhelm M. (wimalopaan)


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

Schau in den MicroChip Support-Cases nach.

von H.Joachim S. (crazyhorse)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
2 lesenswert
nicht lesenswert
Zur Info

von Wilhelm M. (wimalopaan)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
noch eine Seite

von Veit D. (devil-elec)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.