Sortierung nach Threaddatum   Sortierung nach letztem Posting   Forum in BB-Ansicht
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum CC1-Forum - Zum CC2-Forum
Autor Beiträge
FelixM


21.07.2017 10:48Antwort schreiben

Hallo zusammen,

Ich versuche grad über die Funktionen der I2C Bibliothek des AVR32 den analogen Ausgang des PCF8591
anzusprechen.

seine Adresseneingänge habe ich auf Masse gelegt, sodass er eine Adresse von 0x90 für W und 0x91 für R
haben muss und I2C_Probe gibt mir auch zurück, dass er da ist (also eine 1)

I2C_Write hingegen gibt mir bei gleicher Adresse(0x90) immer eine 1 zurück und ich habe keine Ahnung
woran es liegt.
Die Ausgabe erfolgt übrigens über eine der USART Schnittstellen.
Das Programm sieht bei mir folgendermaßen aus:

void Rs232Initbeide(void)
{
  Serial_Init(2,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD9600);
  Serial_Init(1,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD9600);
  pause(20);
}

void main(void)
{
     byte h1,h2,h3[1],h4[1];
     char t1[100];
     h3[0] = 128;
     I2C_SetSpeed(I2C_100kHz);
     Rs232Initbeide();

     while(1)
  {
   
   h2 = I2C_Write(144,64,1,h3,1);                       //I2C Schaltkreis beschreiben über I2C Bibo
   Str_WriteInt(h2,t1,0);                               //Ausgabe 0 -> erfolgreich | -1 -> Ãœbertragungsfehler
   Serial_WriteText(1,t1);                              //konfigurierte Adresse: W 144 R 145


    //Newline rs232
    Serial_Write(1,LF);
    Serial_Write(1,CR);
    Pause(20);
   }
}


der Parameter 64 bei I2C_Write ist das control byte des PCF8591,
 welches den analogen Output aktiviert.

Hoffe mal hier kann mir jemand helfen :D
Vielen Dank im Voraus

Felix
Tobias


22.07.2017 14:32Antwort schreiben