I2C mit Procyon

Gast #678142
Hi

Ich habe ein Problem. Ich möchte zwei atmega32 mit der I2C-Lib von 
Procyon miteinander kommunizieren lassen. Ich verwende die I2C-Lib die 
die AVR-Hardware zur Kommunikation verwendet.
An einem atmega hängen ein paar Sensoren, am anderen ein Display. Jetzt 
möchte ich die Sensorwerte über I2C an den Display übertragen. Der 
atmega mit den Sensoren soll master sein und die Daten an den anderen 
senden. Dafür gibts ja die Funktion
1
i2cMasterSend(u08 deviceAddr, u08 length, u08 *data);
. Der atmega32 soll einfach immer das Anzeigen, was ihm vom Master 
gesendet wird. Ich verstehe aber nicht ganz wie ich das ganze 
programmieren muss, dass der das alles anzeigt
Wie sag ich dem slave, dass er alles Anzeigt was ihm zugeschickt wird?
Dazu weiss ich auch nicht genau, mit was ich in der Funktion 
i2cMasterSend einsetzen muss für length.

Vielen dank
gckoe
Gast #678759
Okee, ev. ists am falschen Ort dass so wenige Antworten. Ich schreib 
selber mal meine neusten Erkenntnisse dazu auf:
Ich kann jetzt daten übertragen, es funktioniert so einfach wie ich mir 
gedacht habe, nur einer der beiden mega32 ist im Eimer :(
Ich habe jetzt einfach beim slave in der Variablen unsigned char 
localBuffer das, was übertragen werden soll, auf dem master läuft 
folgendes Programm:
1
i2cMasterReceive(TARGET_ADDR, 10, localBuffer);
2
  for(i=0; i<10; i++)
3
  {
4
    lcd_putc(localBuffer[i]);
5
  }

Aber es gibt noch ein Problem:
Ich habe beim Master diverse Messwerte von den Sensoren, und die müssen 
alle in den localBuffer kommen. Ich muss also int und float in einen 
localBuffer bringen. Wie macht man sowas?
Und wie reihe ich verschiedene Textstücke und Variablen so aneinander 
dass es wie eine Variable wird?
Also localBuffer = Text1-Variableninhalt1-Text2-Variableninhalt2;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.