Hallo liebe Forumgemeinde, ich habe eine Frage zum MAX6966. Generell funktioniert meine Kommunikation mit dem MAX6966. Allerdings dürfen keine all zu schnellen Befehle gesendet werden. Mal ein Register abfragen oder ein Wert in ein Register schreiben geht aber permanentes, schnelles „reinschreiben“ geht nicht. Meine Werte: ATmega16 12MHz Quarz Hardware SPI mit einem Teiler von 4 Ich sende mit dem Timer1 beim „Überlauf“ (16 Bit, prescale 32) zyklisch einen inc.- Wert an den MAX um ein dimmen der LED zu erzeugen. SCLK ist IDLE LOW und CS wird von mir im Quellcode bedient Was ich allerdings auf meinem OSZI erkenne ist dass wenn ich zwei Byte sende, ist zwischen dem 1. Byte und dem 2. Byte eine längere Pause (hängt wohl von der Hardware ab) Laut Datenblatt des MAX ist eine SPI Fequenz von 26MHz möglich, also weit über meinen SPI- Takt. Mein Code: /////per SPI senden: void spi_putchar(U8 data) { SPDR = data; while (!(SPSR & (1<<SPIF))); } ////// schreiben auf dem MAX void write_data(U8 address, U8 data) { CS_LOW(); spi_putchar(address); spi_putchar(data); CS_HIGH(); } ///////Timer Interrupt #pragma vector = TIMER1_OVF_vect __interrupt void interrupt_timer1(void) { write_data(0x04,toggel); uart_putchar(toggel); toggel +=0x0c; } /* Ende der Funktion ---------------------------------------------------------*/ Ich habe auch mal ein Oszibild mitgeschickt. Die gelbe Linie ist der Takt SCLK die grüne das CS. Vielleicht kann mir einer von Euch einen guten Tipp geben. Mit den besten Grüßen…
>#pragma vector = TIMER1_OVF_vect >__interrupt void interrupt_timer1(void) >{ > write_data(0x04,toggel); >>>>>> uart_putchar(toggel); //Weg damit, löschen, entsorgen > toggel +=0x0c; >}
Hallo Holger. Danke für deine Antwort. Auch das enfernen hat nichts gebracht. Ich benutze diese Zeile um per Hyperterminal zu debuggen. Viele Grüße...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.