Pic18f i2c AS5600 Hilfe Benötigt

OP #7468152
Lesenswert?
• ▲
▼

Moin,

...ich stehe grade maximal aufn Schlauch und brauche mal ein Gedankenstoss. Ich hatte das alles schonmal funktionierend aber leider ist die Datei verschwunden ò_Ò. Ich möchte derzeit erstmal nur den RAW Angle ausm AS5600 auslesen mit meinen PIC18f. Code übern MCC generiert weil ich weiß, dass es mal funktioniert hat.

Aber es kommt nur komsiches Zeug bei raus. Ausgeben lasse ich es aufn einen kleinen OLED Display. Lese ich nur ein 1 byte aus, springt der Wert wild hin und her.

Da der RAW Angle laut Tabelle auf 8bit aufgteilt ist, dachte ich, lese ich 1Byte aus dem register...

Derzeit sieht es so aus

1
 uint16_t data;     
2
    while(1){
3
        
4
        data = i2c_read1ByteRegister(0x36,0x0D);      
5
        
6
        Oled_FillArea(2, 23, 93, 62, PIXEL_0);
7
        sprintf(b, "%01d",data );        
8
        Oled_Text(b, 30, 30);
9
        __delay_ms(1000);
10
    }

Das sind die zwei MCC Funktionen

1
uint8_t I2C1_Read1ByteRegister(i2c1_address_t address, uint8_t reg)
2
{
3
    uint8_t returnValue = 0x00;
4
    
5
    while(!I2C1_Open(address)); // sit here until we get the bus..
6
    I2C1_SetDataCompleteCallback(rd1RegCompleteHandler,&returnValue);
7
    I2C1_SetBuffer(&reg,1);
8
    I2C1_SetAddressNackCallback(NULL,NULL); //NACK polling?
9
    I2C1_MasterWrite();
10
    while(I2C1_BUSY == I2C1_Close()); // sit here until finished.
11
    
12
    return returnValue;
13
}
14

15
uint16_t I2C1_Read2ByteRegister(i2c1_address_t address, uint8_t reg)
16
{
17
    uint16_t returnValue =0x00; // returnValue is little endian
18

19
    while(!I2C1_Open(address)); // sit here until we get the bus..
20
    I2C1_SetDataCompleteCallback(rd2RegCompleteHandler,&returnValue);
21
    I2C1_SetBuffer(&reg,1);
22
    I2C1_SetAddressNackCallback(NULL,NULL); //NACK polling?
23
    I2C1_MasterWrite();
24
    while(I2C1_BUSY == I2C1_Close()); // sit here until finished.
25
  
26
    return (returnValue << 8 | returnValue >> 8);

Was mache ich grade grundlegend flasch (außer den MCC zu benutzen...) ?

Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.