|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
saso Član
Pridružen-a: Čet 18 Mar 2004 10:16 Prispevkov: 510 Aktiv.: 2.30 Kraj: Trbovlje
|
Objavljeno: Ned Jun 01, 2014 11:44 am Naslov sporočila: PIC 18F45K20 + TLC59108 LED I2C Driver |
|
|
Živjo,
Muči me tale povezava, se je mogoče že kdo ukvarjal s tem driverjem?
Pic dela na 16Mhz, SSPADD je nastavljen na 0x09, kar je 400kHz baudrate za I2C,
na osciloskupu kaž da se podatki pošiljajo pravilno, tudi ACK dobim nazaj OK, vendar se spremembe na driverju ne kažejo.
Shema je v prilogi, tole pa je koda, za pošiljanje:
OpenI2C( MASTER, SLEW_OFF);
IdleI2C();
StartI2C();
IdleI2C();
WriteI2C(0b10000000); // Send address with R/W cleared for write
IdleI2C();
WriteI2C(0b00001100); // Register to access
IdleI2C();
WriteI2C(0b01010101); // Data
IdleI2C();
StopI2C();
Ima kdo kako dejo?
Opis: |
|
Velikost datoteke: |
106.21 KB |
Pogledana: |
23 krat |
|
_________________ LP
Sašo |
|
Nazaj na vrh |
|
|
tilz0R Član
Pridružen-a: Čet 31 Maj 2012 15:39 Prispevkov: 898 Aktiv.: 6.24 Kraj: Črnomelj
|
Objavljeno: Ned Jun 01, 2014 1:10 pm Naslov sporočila: |
|
|
Datasheet pravi, da so lokacije registrov za PWM ledice na lokacijah 0x02 do 0x09, pri čemer je 0x02 led0, 0x09 pa led7, ter vmes ostale po zaporedju.
Poizkušaj spodnjo kodo.
Koda: |
/*
najprej resetiraj driver ob power on
Reset pin low
delay 10us
reset pin high
*/
OpenI2C( MASTER, SLEW_OFF);
IdleI2C();
StartI2C();
IdleI2C();
WriteI2C(0b10000000); // I2C naslov z write opcijo
IdleI2C();
WriteI2C(0b00000010); // lokacija ledice, 0x02 = led 0
IdleI2C();
WriteI2C(0b01010101); // 8bit PWM vrednost za to ledico
IdleI2C();
StopI2C();
|
_________________ Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net |
|
Nazaj na vrh |
|
|
saso Član
Pridružen-a: Čet 18 Mar 2004 10:16 Prispevkov: 510 Aktiv.: 2.30 Kraj: Trbovlje
|
Objavljeno: Ned Jun 01, 2014 3:17 pm Naslov sporočila: |
|
|
Živjo,
ledice (kanali) se prižigajo v registrih LEDOUT0 and LEDOUT1 na lokacijah 0Ch in 0Dh, na lokacijah od 02h do 09h so PWM registri za ledice, če jih uporabljaš, jaz jih zaenkrat še ne, ker bi se z zgornjo kodo po mojem morala prižgat ledica s polno napetostjo.
_________________ LP
Sašo |
|
Nazaj na vrh |
|
|
saso Član
Pridružen-a: Čet 18 Mar 2004 10:16 Prispevkov: 510 Aktiv.: 2.30 Kraj: Trbovlje
|
Objavljeno: Pon Jun 02, 2014 10:21 am Naslov sporočila: |
|
|
Živjo,
sedaj mi pa zmanka idej.
Najprej vpišem v čip, potem pa preberem registre in vse štima tako kot mora, samo ne zgodi se nič.
Na HW ne vidim nobenih napak, tako, da ne vem več kaj bi lahko bilo narobe, razen, če je treba še kje v kak register kaj vpisat, sam glede na podatkovni list pomojem ne.
Če se je kdo ukvarjal s tem driverjem in ga je usposobil, bi bila dobrodošla vsaka informacija, kako in kaj.
_________________ LP
Sašo |
|
Nazaj na vrh |
|
|
saso Član
Pridružen-a: Čet 18 Mar 2004 10:16 Prispevkov: 510 Aktiv.: 2.30 Kraj: Trbovlje
|
Objavljeno: Pon Jun 02, 2014 11:43 am Naslov sporočila: |
|
|
No pa je ratalo,
en bit je manjkal, nikjer ne piše da je treba OSC v TLCju prižgat, sem mislil da je potreben samo za PWM, pa zgleda da sem se motil.
_________________ LP
Sašo |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 48 dni
Powered by phpBB © 2001, 2005 phpBB Group
|