Dependencies:   mbed

Fork of A2_Interface3_V_0_0 by Roger McArdell

Audio.h

Committer:
Iztech
Date:
2017-08-17
Revision:
2:18608d894fc4
Parent:
0:ea876cfd7385

File content as of revision 2:18608d894fc4:

/*
    Programmer: Roger McArdell
    Date: 04/08/2017
    
    For Texas Instraments TLV320ADC3101
    
    Versions 
    V0.1    First version
    
*/

static uint8_t DSPAddWrite = '\x30'; // 7 bit Address is \x18 + write bit = \x30
static uint8_t DSPAddRead = '\x31';  // 7 bit address is \x18 + read bit = \x31

// Prototypes



void ReadDSP(char Page, char RegAdd, uint8_t Bytes)
{
    char TempRead[Bytes]; 
    char TempWrite[5];
    
    TempWrite[0] = Page;
    TempWrite[1] = '\x0';
    
    I2CBus.start(); 
    2CBus.write(DSPAddWrite, &TempWrite, 2); // Select page N (Write data N to register 0 regardless of the current page number). assumed repeated-START condition is not required
    I2CBus.read(DSPAddRead, TempRead, Bytes); // Read or write data from/to valid registers in page N.   
    // Read or write data from/to valid registers in page N.   
    // Select new page M (Write data M to register 0 regardless of the current page number).
    // Read or write data from/to valid registers in page M.
    // Repeat as desired
    I2CBus.stop();
    
    pc.printf("DSP Register %d: \r\n",SlaveAdd);
    for (uint8_t I = 0; I < Bytes; I++)
    {
        pc.printf("Value is %d: \r\n",TempRead[I]);
    }   
}