Forum: Mikrocontroller und Digitale Elektronik ATMEGA8 und PCF8574P


von Andre (Gast)


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
1
#include<util/delay.h>
2
3
4
int sendByte(unsigned char datenbyte, unsigned char adresse)
5
{
6
  DDRC &= !((1<<DD4)|(1<<DD5));
7
  PORTC = (1<<DD4)|(1<<DD5);
8
9
  TWCR = ((1<<TWINT)|(1<<TWSTA)|(1<<TWEN));    //TWI aktivieren und Start auslösen
10
  while(!(TWCR & (1<<TWINT)));          // warten auf Start
11
12
13
  TWDR = adresse & (0xFE);            // Adresse und Schreibbit ins Datenregister
14
  TWCR = ((1<<TWINT)|(1<<TWEN));          // senden ...
15
  while(!(TWCR & (1<<TWINT)));
16
17
18
  TWDR=datenbyte;                  // Byte ins Datenregister
19
  TWCR = ((1<<TWINT)|(1<<TWEN));          // senden ...
20
  while(!(TWCR& (1<<TWINT)));            
21
22
23
  TWCR = ((1<<TWINT)|(1<<TWSTO)|(1<<TWEN));    // Stop
24
  return 1;
25
}
26
27
28
29
void main (void)
30
{
31
  unsigned char i;
32
  i=0x01;
33
  while(1)
34
  {
35
    if(i==0x80) i=0x01;
36
    else i<<=1;
37
38
    _delay_ms(150);
39
40
    sendByte(i,0);
41
  }
42
}

von Falk B. (falk)


Lesenswert?

[[Port-Expander PCF8574]]

von Henning (Gast)


Lesenswert?

hi

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

von Maik G. (speedy)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.