Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.64
|
Objavljeno: Ned Jun 03, 2012 5:55 pm Naslov sporočila: |
|
|
Na GP4 imaš CLKOUT, torej LED ne gori stalno, ampak utripa. Ne glede na stanje na vhodih.
Za GP5 moraš program spremenit.
Pa razliko med = in == naštudiraj. Ni vseeno. _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
wicket Član
Pridružen-a: Sob 28 Maj 2011 15:19 Prispevkov: 29 Aktiv.: 0.18 Kraj: Ljubljana
|
Objavljeno: Ned Jun 03, 2012 6:24 pm Naslov sporočila: |
|
|
Ja pardon, glede operatorjev poznam razliko, sem se zatipkal.
Glede clocka... torej če uporabljam čipov notranji clock imam 2 opciji - CLKOUT in No Clock oz IO. Kaj to pomeni, da dejansko v primeru CLKOUT dobivam na tem pinu clk impulz? Bi ga v primeru No Clock lahko uporabil kot output?
Mogoče trapasta vprašanja, ampak do zdaj sem se ukvarjal samo s kontrolerji (Simatic), z mikro pa še ne.
|
|
Nazaj na vrh |
|
|
Alex17 Član
Pridružen-a: Ned 28 Feb 2010 21:46 Prispevkov: 476 Aktiv.: 2.76 Kraj: Ljutomer
|
Objavljeno: Ned Jun 03, 2012 7:51 pm Naslov sporočila: |
|
|
Točno tako kot si napisal za CLKOUT. |
|
Nazaj na vrh |
|
|
Parker Neznanec
Pridružen-a: Pet 22 Jun 2012 18:02 Prispevkov: 8 Aktiv.: 0.06 Kraj: Ljubljana
|
Objavljeno: Pet Jun 22, 2012 6:32 pm Naslov sporočila: |
|
|
Zivjo
Jaz se tudi igram s priziganjem ledic. Kolega mi je predlagal uporabo shift registrov oziroma driverja TLC5927 za 16 ledic ampak mi ga nikakor ne uspe usposobit. Bi mi lahko nekdo razlozil na kaksen nacin to priklopit na PIC in spravit v pogon. Sicer sem ze sam bral datasheet in povezal, pa me prosim popravite ce sem kaj zgresil
PIN1 = GND (povezan na GND)
PIN2 = SDI (povezan na PORTE.F0)
PIN3 = CLK (povezan na PORTE.F1)
PIN4 = LE (povezan na PORTE.F2)
PIN5 - PIN20 (tukaj gor imam ledice)
PIN21 - OE (sem povezal na GND)
PIN22 - SDO (ni povezan nikamor)
PIN23 - R-EXT (ni povezan nikamor)
PIN24 - VDD (povezan na +5V)
Tukaj pa je izvorna koda za mikroc. Kje sem ga polomil?
Koda: |
#define latch_pin PORTE.F2 // TLC5927 PIN #4
#define clock_pin PORTE.F1 // TLC5927 PIN #3
#define data_pin PORTE.F0 // TLC5927 PIN #2
char* leds = "0000000000000000";
void write_driver_tlc(char* vrednost) {
unsigned int i;
i = 0;
while(i < 16) {
if(vrednost[i] == '1')
data_pin = 1;
else
data_pin = 0;
latch_pin = 1;
latch_pin = 0;
i++;
}
clock_pin = 1;
clock_pin = 0;
}
void main(void) {
ADCON1 |= 0x0F;
CMCON |= 0x07;
TRISE = 0x00;
PORTE = 0x00;
while(1) {
leds = "1111000011110000";
write_driver_tlc(leds);
}
} |
|
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.64
|
Objavljeno: Pet Jun 22, 2012 7:00 pm Naslov sporočila: |
|
|
Parker je napisal/a: |
PIN23 - R-EXT (ni povezan nikamor) |
Poglej še 1x, kaj je funkcija tega pina... _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
Parker Neznanec
Pridružen-a: Pet 22 Jun 2012 18:02 Prispevkov: 8 Aktiv.: 0.06 Kraj: Ljubljana
|
Objavljeno: Pet Jun 22, 2012 7:04 pm Naslov sporočila: |
|
|
Aja ups. Sem povezal gor 300 ohmski upor na GND in tudi ne dela. |
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.64
|
Objavljeno: Pet Jun 22, 2012 7:07 pm Naslov sporočila: |
|
|
Ne dela, ker z clock pinom ne počneš nič.
edit: zamenjaj clock in latch... _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
Parker Neznanec
Pridružen-a: Pet 22 Jun 2012 18:02 Prispevkov: 8 Aktiv.: 0.06 Kraj: Ljubljana
|
Objavljeno: Pet Jun 22, 2012 7:12 pm Naslov sporočila: |
|
|
Si mislil tako?
Koda: |
void write_driver_tlc(char* vrednost) {
unsigned int i;
i = 0;
while(i < 16) {
if(vrednost[i] == '1')
data_pin = 1;
else
data_pin = 0;
clock_pin = 1;
clock_pin = 0;
i++;
}
latch_pin = 1;
latch_pin = 0;
} |
Ker tudi ne deluje. Drugace ta ista koda mi lepo deluje na nekem drugem 8 bitnem shift registru (z razliko da grem tam s for zanko do 7 in ne 15)
EDIT: Samo da se prepricam. Ce dam na R-EXT upor 300ohm in na GND, potem ne rabim 16 uporov za ledice? Ce predvidevamo, da so vse ledice enake in zelim na vseh isto svetilnost? |
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.64
|
Objavljeno: Pet Jun 22, 2012 7:23 pm Naslov sporočila: |
|
|
Probaj shiftat same enice, da vklopiš vse izhode - si mogoče LED narobe obrnil? _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
Parker Neznanec
Pridružen-a: Pet 22 Jun 2012 18:02 Prispevkov: 8 Aktiv.: 0.06 Kraj: Ljubljana
|
Objavljeno: Pet Jun 22, 2012 7:25 pm Naslov sporočila: |
|
|
Sem ze poslal same enke, pa ni razlike. Tudi pomeril z multimetrom vse izhode, povsod je 0. Ledica je pravilno obrnjena, povezave sem tudi preveril tako da res nimam ideje kje bi lahko bil problem. Ali je obvezen kondenzator 100nF med VDD in GND driverja, ker ga trenutno nimam?
Nazadnje urejal/a Parker Pet Jun 22, 2012 7:26 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.64
|
Objavljeno: Pet Jun 22, 2012 7:26 pm Naslov sporočila: |
|
|
Ne rabiš nobenih uporov v seriji z LED... upor je v tem primeru samo dodatno (nepotrebno) breme za čip. Tok skozi LED določiš z vrednostjo upora REXT (glej sliko 11 v datasheetu). _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.64
|
Objavljeno: Pet Jun 22, 2012 7:28 pm Naslov sporočila: |
|
|
0V na izhodu pomeni, da je izhod aktiven... a imaš LED vezan proti masi? _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
Parker Neznanec
Pridružen-a: Pet 22 Jun 2012 18:02 Prispevkov: 8 Aktiv.: 0.06 Kraj: Ljubljana
|
Objavljeno: Pet Jun 22, 2012 7:35 pm Naslov sporočila: |
|
|
Aja hmmm. Jaz imam iz izhodnega pina povezano na anodo ledice, katoda ledice pa gre na GND ja. Ne glede na to kaj shiftam, na vseh izhodih sem izmeril 0.4V (takrat ko je izhodni pin v zraku). Ce pravis da je izhod aktiven ko je na pinu 0V, sem poskusil obrniti ledico in drugi konec dal na +5V in tudi ne sveti |
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.64
|
Objavljeno: Pet Jun 22, 2012 7:42 pm Naslov sporočila: |
|
|
Anodo veži na VCC, katodo pa na izhod. Pa datasheet drugič malo bolj pazljivo preglej... _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
Parker Neznanec
Pridružen-a: Pet 22 Jun 2012 18:02 Prispevkov: 8 Aktiv.: 0.06 Kraj: Ljubljana
|
Objavljeno: Pet Jun 22, 2012 8:09 pm Naslov sporočila: |
|
|
Super, deluje tako kot mora. Je bilo se nekaj slabih povezav poleg tega da nisem vedel da je na izhodu 0 ko je ta aktiven. Najlepsa hvala za trud in pomoc gumby |
|
Nazaj na vrh |
|
|
|