SPI 16 Bit senden

OP #3971217
Lesenswert?
• ▲
▼
Hallo,

ich habe gerade ein kleines Problem mit meinen TLC59281 
(http://www.ti.com/lit/ds/symlink/tlc59281.pdf). Ich hatte zuvor in der 
Schaltungen 2 HC595 (deshalb auch im Code noch falsche Namen) im 
Einsatz. Nun habe ich diese gegen den besagten TLC59281 ausgetauscht.

Ich bekomme nun aber das Problem, dass sich mein Controller (attiny841) 
resettet, sobald ein paar Daten übertragen wurden über SPI. Kommentiere 
ich die Zeilen innerhalb dieser Funktion aus, kommt es zu keinem Reset.
1
{
2
  HC595_PORT &= ~(1<<HC595_SS);
3
  for(uint8_t i = 0; i < HC595_NUM_REG; i++)
4
  {
5
    SPDR = hc595_array[i];
6
    while(!(SPSR & 1<<SPIF));
7
  }
8
  HC595_PORT |= 1<<HC595_SS;
9
}

Das hc595_array ist als byte defeniert. Falls es nicht ausreicht, ich 
kann den Code gleich noch ausdünnen und komplett schicken.

Beschaltet ist der TLC wie im Datenblatt auf Seite 1 angegeben, ohne 
jedoch SOUT wieder einzulesen.

Gruß Stefan
OP #3971243
Lesenswert?
• ▲
▼
Habe es nun noch einmal einzeln getestet und etwas umgeschrieben. Das 
geht. Wird dann wohl doch irgendwo ein Problem bei meinem Programm 
selber und nicht mit den TLCs sein.

So, denke ich habe den Übeltäter gefunden.
1
void leds_flash(void)
2
{
3
  static uint8_t pattern = 0xff;
4
  serpa_one_byte(0, pattern);
5
  serpa_one_byte(1, pattern);
6
  pattern = ~pattern;
7
}

Was kann hier falsch sein? Die Funktion wird über eine Zeitkonstante 
aufgerufen und soll ihren Wert jedesmal invertieren.
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.