www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik ATMEGA8 und PCF8574P

Autor: Andre (Gast)
Datum: 19.07.2008 00:24

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: 19.07.2008 07:57

Autor: Henning (Gast)
Datum: 19.07.2008 17:52

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: 20.07.2008 13:45

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 Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
  • Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net