www.mikrocontroller.net

Forum: Compiler & IDEs I2C mit Procyon


Autor: gckoe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
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

Autor: gckoe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:
i2cMasterReceive(TARGET_ADDR, 10, localBuffer);
  for(i=0; i<10; i++)
  {
    lcd_putc(localBuffer[i]);
  }

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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.