Forum: Mikrocontroller und Digitale Elektronik int - Wert denkfehler?


von Chaos (Gast)


Lesenswert?

Hallo,
ich bin anfänger und habe einen Code bekommen um einen I²C chip 
anzusteuern.
Das klappt auch alles wunderbar wenn ich dem einen konkreten "WERT" 
gebe, leuchten dann die 8 LED's die ich an dem I²C chip angeschlossen 
habe.
Jetz wollte ich aus spaß an der freude einfach mal einen Bitzähler 
bauen.
D.h. ich definiere einen int puffer (ich brauche ja 8 Bit) den habe ich 
"x" genannt.
Wenn ich jedoch das Programm in den µC lade welcher ein Atmega32 ist 
passiert am I²C nichts... Wo ist da der denkfehler?
1
#include <avr/io.h>
2
#include "twi_pcf8574.h"
3
#include <util/delay.h>
4
5
int x;
6
7
8
9
int main (void)
10
11
12
13
{
14
  
15
  
16
  
17
  while (1)
18
  {
19
20
  x = (x + 1);  
21
    
22
23
24
  _delay_ms(500);
25
  
26
  pcf8574_set_outputs (0, x);  /* Die Null steht für die I²C   
27
                                      Adresse, x für den Wert (0-255)*/
28
  }
29
30
31
}

von Thomas W. (thomas100)


Lesenswert?

Hallo Chaos,

der Datentyp int ist 16bit lang. Was du suchst ist ein char, bzw. ein 
unsigned char.

Gruß
Thomas

von Vielleicht klappts (Gast)


Lesenswert?

Versuchs mal mit "unsigned char"(8bit) oder "uint8_t"(8bit) anstelle von 
"int" (16 bit).

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.