I2C eszközök élesztése

A "60 nap alatt Arduino" tanfolyam házi feladatai és közvetlen témái
Válasz küldése
Avatar
JTama
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2008. november 13. csütörtök, 7:00

I2C eszközök élesztése

Hozzászólás Szerző: JTama »

Már javában benne vagyunk az I2C eszközök használatában és én sajnos nem tudom szóra bínni őket. EXT1 interface kártyám van. Már minden példa pr. kipróbáltam. A setup-ig lefut a pr. utána lefagyás. Az A4,A5 input jó. Kipróbálva. Az IC láb bekötéseket ellenőriztem. A tápfeszt az USB port adja. Mit kellene még ellenőriznem ?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Tesztprogram mit mond?

Bascom-ban próbáld ki:

Kód: Egész kijelölése

' This program demonstrate the I2Ccommuncication and Err variable

   $crystal = 16000000                                      'Sebesseg
   $regfile = "M168def.dat"                                 'Chip
   $baud = 9600
   $swstack = 128
   $hwstack = 128
   $framesize = 128
   Dim Temp1 As Byte
   Dim Temp2 As Byte
   'I2C konfigurálása
   Config I2cdelay = 10                                     ' lassú mód, alapesetben:10
   Config Sda = Portc.4
   Config Scl = Portc.5

   Config Portc.4 = Output                                  'I2C buszteszt
   Config Portc.5 = Output
   Portc.4 = 1
   Portc.5 = 1
   Print "      Out  In"
   Print "SDA(H):" ; Portc.4 ; "   " ; Pinc.4
   Print "SCL(H):" ; Portc.5 ; "   " ; Pinc.5
   Portc.4 = 0
   Portc.5 = 0
   Print "SDA(L):" ; Portc.4 ; "   " ; Pinc.4
   Print "SCL(L):" ; Portc.5 ; "   " ; Pinc.5
   Wait 1
   I2cinit                                                  'I2C inicializalas
   Print "I2c-locator 1=no_device 0=device"
   Print "     0    2    4    6    8    A    C    E"
   Print " 00 ";
   For Temp1 = 0 To 254 Step 2
      Temp2 = Temp1 Mod 16                                  ' cimek
      If Temp2 = 0 And Temp1 > 0 Then
         Print                                              ' sorvege?
         Print " " ; Hex(temp1) ; " ";
      End If
      I2cstart                                              ' Startjel
      I2cwbyte Temp1
      Print " " ; Err ; "   ";                              ' 1-nincs, 0-van eszkoz
      I2cstop
   Next Temp1
End
Illetve az Arduino-s detect mit mond?
Jó áramkört/AVR-t választasz ki?
Avatar
JTama
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2008. november 13. csütörtök, 7:00

Hozzászólás Szerző: JTama »

SDA(H):1 1
SCL(H):1 1
SDA(L):0 0
SCL(L):0 0
I2c-locator 1=no_device 0=device
0 2 4 6 8 A C E
00 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0
30 0 0 0 0 0 0 0 0
40 0 0 0 0 0 0 0 0
50 0 0 0 0 0 0 0 0
60 0 0 0 0 0 0 0 0
70 0 0 0 0 0 0 0 0
80 0 0 0 0 0 0 0 0
90 0 0 0 0 0 0 0 0
A0 0 0 0 0 0 0 0 0
B0 0 0 0 0 0 0 0 0
C0 0 0 0 0 0 0 0 0
D0 0 0 0 0 0 0 0 0
E0 0 0 0 0 0 0 0 0
F0 0 0 0 0 0 0 0 0 Out In

Ezt az eredményt kaptam a bascom I2C keresésre. Ez ugye azt jelenti nem talált I2C eszközt a Pr.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Mérj rá a panelra. Az ÓraIC illetve EEPROM lábán ott +5V?
Az SCL és az SDA-t is berakod 5V-ra ill fix 0V-ra. És kiméred, hogy eljut-e.
Illetve a SCL és SDA bemenetre állít. Így 5V-okat kell mérni rajtuk, mert ott a felhúzó.
1k-val GND fele terhelve ~1.5-2V-t mérsz...
Avatar
JTama
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2008. november 13. csütörtök, 7:00

Hozzászólás Szerző: JTama »

Sajnos csak most tudtam újra foglalkozni az EXT1-el. Igen az SDA vonalat valami lehúzta 0.2V-ra. Csak akkorra derüt ki, hogy ki a "bűnös" mire mind a 3 IC-n elvágtam az SDA-t. A TC75 volt az. Most kihagyva a hőmérőt, az EEpromot és az óra IC tudom használni.Még nem tudom ,hogy szedem ki ezt a kis parányi IC-t, de szeretném majd a hőmérőt is kipróbálni.
Köszi a segítséget:jtama
Válasz küldése