Guten Abend
ich werde aus diesem Chip nicht schlau oder verstehe das Pinning nicht ganz.
Ist das kein "normales" SPI? Es gibt einen Pin für "In/Out" Ich kenne bis jetzt nur "MOSI & MISO".
Lesen will ich eigentlich gar nichts bzw. brauche ich den Chip nicht auslesen (will nur Daten schreiben)... Das scheint aber nicht ganz hin zu hauen.
Hier mein Source
Schreiben in das INSR Seite 12
CodeBox C
Und einfach mal einen Wert in das Commando-Register schreiben Seite 15
CodeBox C
Der SPI zappelt auch, Signale sind soweit richtig vorhanden (Oszi)...
Bestimmt wieder ein "dummer" Fehler.
ich werde aus diesem Chip nicht schlau oder verstehe das Pinning nicht ganz.
Ist das kein "normales" SPI? Es gibt einen Pin für "In/Out" Ich kenne bis jetzt nur "MOSI & MISO".
Lesen will ich eigentlich gar nichts bzw. brauche ich den Chip nicht auslesen (will nur Daten schreiben)... Das scheint aber nicht ganz hin zu hauen.
Hier mein Source
Schreiben in das INSR Seite 12
CodeBox C
void DAC1220_INSR_Write(uint8_t NumOfBytes, uint8_t Addr) { uint8_t cmd = 0x00; cmd |= ((NumOfBytes << 5) | (Addr & 0x0F)); cmd &= ~((1<<7) | (1<<4)); // R/W & Bit 4 must be "0" SpiSlaveSelectHigh(); // <- SpiSlaveSelectLow(); // Select Slave SpiMasterTx(cmd); SpiSlaveSelectHigh(); // <- }
Und einfach mal einen Wert in das Commando-Register schreiben Seite 15
CodeBox C
void DAC1220_Set_Output_16Bit(uint16_t ADC_Val) { DAC1220_INSR_Write(BYTEx2,DATA_INPUT_REGISTER_BYTE2); SpiSlaveSelectHigh(); // <- SpiSlaveSelectLow(); // Select Slave SpiMasterTx((ADC_Val & 0xFF00)); // Bit 24 - 17 SpiMasterTx((ADC_Val & 0x00FF)); // Bit 16 - 9 SpiSlaveSelectHigh(); }
Der SPI zappelt auch, Signale sind soweit richtig vorhanden (Oszi)...
Bestimmt wieder ein "dummer" Fehler.