www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zum MAX 7221


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,


Habe zwei Max 7221 an einen Mega 128.

der 2.Max ist am Dout des ersten Verbunden.
CS sind untereinander verbunden.


Nun meine Frage.

im datenblatt steht drin das man x No-Ops senden muß für den jeweiligen 
nachkaskadierten MAX.

zb bei drei MAX den dritten ansprechen muß ich 2x no-op senden.

wie mache ich das.

Es steht drinn das man erst die 16bit senden soll und gefolgt von den 
jeweiligen no-ops.

Nei mir wäre es ja immer nur ein no-op(0x00).

so siehts nei mir aus

void write_7219(unsigned char adresse,unsigned char data,unsigned short 
int drv)
{
if(drv==0)
{
//led_cs_low();
SPI_led_on();
SEG_cs_low();
Write_SPI(adresse);
Write_SPI(data);
SEG_cs_high();
SPI_led_OFF();
}

if(drv==1)
{
//led_cs_low();
SPI_led_on();
SEG_cs_high();
Write_SPI(adresse);
Write_SPI(data);
Write_SPI(0x00);//no op für ersten MAX
SEG_cs_high();
SPI_led_OFF();
}
}


es geht aber immer nur der erste MAX

Danke für eure Hilfe

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genau so ist es. Wenn du den 2.ansprechen willst sendest die die ersten 
16 Bit und dann einen No OP für den 1. MAX ( alles vom uC aus egsehen)
du schiebst also 32 Bit raus.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, nach genauern studieren im DB stehts ja auch drinn.

The no-op register is used when cascading MAX7219s
or MAX7221s. Connect all devices’ LOAD/CS inputs
together and connect DOUT to DIN on adjacent
devices. DOUT is a CMOS logic-level output that easily
drives DIN of successively cascaded parts. (Refer to
the Serial Addressing Modes section for detailed information
on serial input/output timing.) For example, if
four MAX7219s are cascaded, then to write to the
fourth chip, sent the desired 16-bit word, followed by
three no-op codes (hex 0xXX0X, see Table 2). When
LOAD/CS goes high, data is latched in all devices. The
first three chips receive no-op commands, and the
fourth receives the intended data.


ich muß bei 2 Max den ersten der ja als letztes gesendet  und als erstes 
ausgewertet wird ein 0x00 und ein 0x00 senden.

So jetzt gehts

Vielen Dank

Man muß nur lesen und verstehen können.

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.