www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMEGA8 und PCF8574P


Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
ich bin hier bei meinen ersten Gehversuchen mit i2c. Aber ich komme 
nicht mehr weiter. Folgenden Quellcode habe ich erstellt. Nur leider 
gibt der pcf8574p nichts aus.
Kann einer von euch sehen ob da irgendwo ein Bock drinn ist ? 
Hardwaremäßig müsste alles richtig angeschlossen sein incl. 
pullupwiderstände

würd mich freuen wenn wer nen Tipp hat
danke Henning
#include<util/delay.h>


int sendByte(unsigned char datenbyte, unsigned char adresse)
{
  DDRC &= !((1<<DD4)|(1<<DD5));
  PORTC = (1<<DD4)|(1<<DD5);

  TWCR = ((1<<TWINT)|(1<<TWSTA)|(1<<TWEN));    //TWI aktivieren und Start auslösen
  while(!(TWCR & (1<<TWINT)));          // warten auf Start


  TWDR = adresse & (0xFE);            // Adresse und Schreibbit ins Datenregister
  TWCR = ((1<<TWINT)|(1<<TWEN));          // senden ...
  while(!(TWCR & (1<<TWINT)));


  TWDR=datenbyte;                  // Byte ins Datenregister
  TWCR = ((1<<TWINT)|(1<<TWEN));          // senden ...
  while(!(TWCR& (1<<TWINT)));            


  TWCR = ((1<<TWINT)|(1<<TWSTO)|(1<<TWEN));    // Stop
  return 1;
}



void main (void)
{
  unsigned char i;
  i=0x01;
  while(1)
  {
    if(i==0x80) i=0x01;
    else i<<=1;

    _delay_ms(150);

    sendByte(i,0);
  }
}


Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
[[Port-Expander PCF8574]]

Autor: Henning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

jo die Seite kenn ich. Habe das auch mit meinem verglichen. Aber 
trotzdem steh ich irgenwie auf dem Schlauch.

Autor: Maik Geßner (speedy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nun... zugegeben ich kenn mich mit C programmierung nicht wirklich gut 
aus und da ich jetzt auch nicht die Definitionen deiner var. und const 
sehe. kann ich nur schwer folgen, was du meinst.

nur soviel, ich hatte das gleiche Problem mit nem anderen PIC bis mir 
denne auffiehl, das der von mir verwendetet Pic kein I²C kann ^^...

aber ein kleiner Gedankenanstoß konnte dir geg. die Seite Pic-Basic.de 
geben...

Gruß Speedy

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.