ATMEGA8 und PCF8574P

Gast #930714
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
}
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

Eine eigene Frage? Dieser Thread ist über 18 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.