Forum: Mikrocontroller und Digitale Elektronik AVR atmega8 voice chip ISD


von Walizer (Gast)


Lesenswert?

Hallo,

möchte einen ISD IC mit einem Atmega8 ansteuern,
habe den SPI Port schon verbunden, nun das einzige was mir noch nicht 
ganz klar ist und zwar kann ich als Befehl z.B. wie es im Datenblatt 
steht POWERUP schicken oder wie geht das kapier das im Datenblatt nicht 
ganz.
http://www.csd-electronics.de/data/pdf/ISD4003.pdf

von Walizer (Gast)


Lesenswert?

so hab ich jetzt die Rec Funktion in C geschrieben:

    // Record
    SPI_MasterTransmit("POWERUP");
    _delay_ms(31.25); // Power Up Delay
    SPI_MasterTransmit("POWERUP");
    _delay_ms(62.5); // Power Up Delay
    SPI_MasterTransmit("REC");
    _delay_ms(62.5);

    waitsek(10);
    SPI_MasterTransmit("STOP");

von Frank L. (hermastersvoice)


Lesenswert?

Wie kommst du darauf dass das Ding Klartext versteht? Ich würd mal auf 
Steuer- und Adressbits tippen die die Steuerung machen. Man schickt ja 
auch einem Display nicht den Text "Init" um es zu initialisieren sondern 
setzt die richtigen Bits.

bye

Frank

von Walizer (Gast)


Lesenswert?

hab ich mir auch schon gedacht, also müsste das dann so aussehen: 
SPI_MasterTransmit("00100"); für Powerup oder?

von Dummy (Gast)


Lesenswert?

>SPI_MasterTransmit("00100"); für Powerup oder?

Neeee, eher SPI_MasterTransmit(0b00100);

von Walizer (Gast)


Lesenswert?

hab es jetzt so gemacht leider spielt er immer noch nix,

    // Record
    SPI_MasterTransmit(0b00100); // PowerUP
    _delay_ms(31.25); // Power Up Delay
    SPI_MasterTransmit(0b00100); // PowerUP
    _delay_ms(62.5); // Power Up Delay
    SPI_MasterTransmit(0b01101); // Rec
    _delay_ms(62.5);

    waitsek(10);
    SPI_MasterTransmit(0b01100); // Stop

    // Play
    SPI_MasterTransmit(0b00100); // PowerUp
    _delay_ms(31.25);
    SPI_MasterTransmit(0b01111); // Play
    _delay_ms(62.5);

jemand ne idee was falsch is?

von Christian U. (z0m3ie)


Lesenswert?

Wie wärs, wenn du mal das Datenblatt liest ?
Da steht eindeutig drin das ein Opcode aus 11 bit besteht.
Es reicht also nicht wenn du die 5 Controll bits sendest.

von Stefan (Gast)


Lesenswert?

wie sieht "SPI_MasterTransmit" aus, und wie wird die SPI Schnittstelle 
initialisiert ?

von Christian U. (z0m3ie)


Lesenswert?

Spielt doch überhaupt keine rolle Das interface arbeitet mit 11 bit 
words das ist mit hardware spi vom avr nicht drin. entweder er nimmt die 
uart oder macht software spi.

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.