Sida 2 av 6

Postat: 11 juni 2007, 19:34:31
av sodjan
Tja, själv och själv. Sannolikt behöver du en variant på lcd_putchar
som bara skriver halva byten (alltså kör i 8-bits mode i princip).
För att skriva 4-bits kommandot. Sedan kör du på med båda
nibblarna...

Postat: 11 juni 2007, 19:47:08
av net4all
Nu hängde jag inte med här....
Varför skicka nibbles?

Har suttigt och kodat grunden till ett program för 8bitar nu.
Jag tror init rutinen är rätt nu, har lagt in nop och delay lite här och var för att vara säker på att inte skicka data/kommandon för snabbt.

Sen när man ska skicka tecken, är det bara att sätta RS=1 och sen skicka texten, samt skicka en puls på E för varje byte...

Programmet:http://www.dybeck.eu/testlcd.c

Postat: 11 juni 2007, 20:26:44
av sodjan
> Nu hängde jag inte med här....
> Varför skicka nibbles?

Därför att din kod gör det, varför annars ?

Postat: 11 juni 2007, 20:43:03
av net4all
OK, men är det inte det den putcharen gör, den styckar upp 8bitar till 2 nibbles för att skicka dom en och en?

Kolla det nya programmet, vill gärna höra era åsikter.
Har jag gjort något fel hitills?

http://www.dybeck.eu/testlcd.c

Postat: 11 juni 2007, 20:55:17
av sodjan
> OK, men är det inte det den putcharen gör, den styckar upp 8bitar till 2 nibbles för att skicka dom en och en?

Japp, men det ska du inte göra, *innan* LCD modulen verkligen
är i 4-bitars mode, och det är den inte från power-on.

Eller också så talar vi om vanradra på något sätt...

> Kolla det nya programmet, vill gärna höra era åsikter.

Ser inget efter en *snabb* titt.
Jag skulle testa med mycket längre delays...

Postat: 12 juni 2007, 21:06:05
av net4all
Nu har jag förlängt pauserna, men jag upptäckte en annan sak också.

Jag testade att ansluta en LED till en pinne på PICen, det var menigen att den skulle blinka till i början av programmet och sedan tändas när programmet var slut.

Men inget händer alls, men om jag kör ett program som bara tänder LEDen så tänds den.

Vad kan vara fel??
http://www.dybeck.eu/testlcd.c

Postat: 12 juni 2007, 22:25:57
av JimmyAndersson
Var anslöt du lysdioden?

Postat: 12 juni 2007, 23:10:03
av sodjan
> Vad kan vara fel??

Vad är det för skillnad på de två programmen ?

EDIT: Ett litet förtydligande...
*Jag* behöver inte veta vad det är för skillnad.
Det jag menar är att *du* ska kolla vad det är för skillnad.
När du har hittat det, så har du kanske även hittat "felet"...
:-)

Postat: 13 juni 2007, 14:58:06
av net4all
JimmyAndersson: på PORTB.2

sodjan: Jo jag har kollat efter skilnader. Det ena har lcd rutinerna, det andra tänder bara LEDen och gör inget annat. Har kollat den lilla del kod som styr LEDen men det är ingen skillnad så vitt jag kan se.

Fråga: Jag har använt nedanstående portar till LCDn och funderar om någon av modulerna i PICen kanske använder dom, comparatorerna på PORTA har jag stängt av.

Kod: Markera allt

#pragma bit RS  @ PORTB.5
#pragma bit E  @ PORTB.1

#pragma bit D7  @ PORTA.7
#pragma bit D6  @ PORTA.6
#pragma bit D5  @ PORTB.0
#pragma bit D4  @ PORTA.4
#pragma bit D3  @ PORTA.3
#pragma bit D2  @ PORTA.2
#pragma bit D1  @ PORTA.1
#pragma bit D0  @ PORTA.0

Postat: 13 juni 2007, 16:37:53
av sodjan
Jag minns inte längre vilken processor du använder,
men deet syns direkt på riktningen över pinout
på en av de första sidorna i databladet.
Du kan lika bra som någon annan kolla...

Om det är en 628/628A, så får du se upp lite
extra med RA4 ! Den är open collector...

Postat: 14 juni 2007, 13:40:43
av net4all
Det borde nog inte vara några problem, 16F628ans AN måste man väll slå på själv eller?

> open collector
Betyder det att den måste ha pullup motstånd?

Postat: 14 juni 2007, 16:24:08
av sodjan
> 16F628ans AN måste man väll slå på själv eller?

Nej, slå *AV* själv.

Så är det på *ALLA* PIC'ar. Om en pinne har en analog
funtktion, så är den *PÅ* efter en reset.
Men varför fråga, det finns en mycket tydlig varning på sidan
om PORTA i databladet om just detta.

Sedan ang RA4...
Den kan alltså bara "dra" aktivt till jord. Till 5V måste den
få lite hjälp av t.ex ett pull-up motstånd.
RA4 är lite besvärlig.Man kan undvika att använda den den
eller använda en modernare processor utan någon OC-pinne...

Postat: 14 juni 2007, 16:57:35
av net4all
Aj då, jag tror jag får läsa det där databladet igen och lite nogrannare :roll:

Och byta bort RA4 mot någon annan, slå av AN, bara att testa igen

Måste man stänga av alla extra funktioner själv tex USART, CCP?

(ganska ny med PICar därav okunskapen...)

EDIT: fler frågor

Postat: 14 juni 2007, 17:32:16
av sodjan
Normalt gäller att analoga funktioner är på, men "extra" digitala
funktioner (pwm, usart, i2c o.s.v) är avstäntängde efter reset.

Jag säger "normalt" för jag har sett vissa nyare modeller där man kan
ändra i CONFIG så att analoga funktioner är avstängda efter reset. Men
det är inte speciellt vanligt...

Postat: 14 juni 2007, 17:35:27
av net4all
Här kommer en riktig nybörjar fråga: Är AN detsamma som comparator?
Jag hittar inget om AN, men det nämns tillsammans med comparatorn..