Sida 1 av 1

Problem med lcd, pic18f4680, mikroC

Postat: 16 januari 2009, 16:25:03
av Pyrro

Kod: Markera allt

void main()
{
  TRISB = 0;
  LCD_Init(&PORTB);
  LCD_Cmd(LCD_Cursor_off);

  while(1)
  {
    LCD_Cmd(LCD_CLEAR);
    LCD_Out(1 ,1 , "abcdef");
    Delay_ms(1000);
  }
}
ger output `bbddf på LCDn

Alltså a blir ` och c blir b osv. Jag har kopplat in LCD enligt mikroC manual. Samt kompletterat E,RS samt d4 - d7 med pullupmotstånd. Jag har även jordat d0 - d3. Nån som har nån ide på felsökning?

/Pyrro

Re: Problem med lcd, pic18f4680, mikroC

Postat: 16 januari 2009, 16:32:04
av sodjan
Sannolikt felkopplat, bit 0 blir alltid "0"...

Re: Problem med lcd, pic18f4680, mikroC

Postat: 16 januari 2009, 17:05:29
av Pyrro
Hmm.. bit 0, pinne 40 = PGD. Som används vid ICSP. Kan jag inte använda den till både programmering och IO? Använder Pickit2 som programmerare.

Re: Problem med lcd, pic18f4680, mikroC

Postat: 16 januari 2009, 23:13:54
av sodjan
Tja, om programmeraren bara "sköter sig" så ska den inte inverka,
d.v.s den ska koppla bort sig efter programmeringen. Har ingen aning
om hur det är med PICkit2. Man självklart har du provat att köra med
den bortkopplad (eller hur?) så det borde inte vara det...

Skit samma, bit 0 är alltid "0", vilket ju är uppenbart
om man jämför det du skriver ut med det du får på displayen.
Fixa det så fungerar det kanske...

Re: Problem med lcd, pic18f4680, mikroC

Postat: 16 januari 2009, 23:30:47
av PHermansson
Minns inte om det var PGC eller PGD, men en av dem fick jag ta bort i ett projekt för att det skulle fungera som tänkt när jag använde pinnen till annat. Alltså kretsen fungerade inte när PicKit2-PGD/PGC var inkopplad, tog jag loss anslutningen till programmeraren fungerade allt som det skulle.

Re: Problem med lcd, pic18f4680, mikroC

Postat: 16 januari 2009, 23:36:08
av sodjan
Men å andra sidan så borde man väl testa en så enkel sak som att bara koppla
bort programmeraren innan man postar om problemet *här* på forumet !?

Dessutom är det lite märkligt att inte PICkit2 skulle fixa att koppla bort
signalerna efter programmeringen...

Re: Problem med lcd, pic18f4680, mikroC

Postat: 16 januari 2009, 23:58:54
av PHermansson
Det är skillnad på *borde* och *gör* :)

Det kan ju vara så att man antar att en PicKit2 ska fixa det och att man därför inte tänker på det?

Re: Problem med lcd, pic18f4680, mikroC

Postat: 17 januari 2009, 00:08:13
av sodjan
Jo, det skulle jag också anta om en PICkit2...

Re: Problem med lcd, pic18f4680, mikroC

Postat: 17 januari 2009, 09:25:32
av Icecap
Eller att *någon* använder PICKit2'an som ICD och då lär pinnen vara upptagen med annat än att driva LCD...

Re: Problem med lcd, pic18f4680, mikroC

Postat: 17 januari 2009, 09:43:35
av Pyrro
Självklart har jag kopplat bort programmeraren men det verkar som PGD pinnen har låst sig låg. Kan ha nåt att göra med ICD. Men jag tycker att jag har rätt setttings i compilatorn, alltså debugger off. I värsta fall får jag väl ta och löda bort LCDn och sätta den på port D. Men det är ändå intressant att lösa detta problem.

/Pyrro

Re: Problem med lcd, pic18f4680, mikroC

Postat: 17 januari 2009, 09:46:55
av Icecap
Om du har portar över är det ganska osmart att inte använda dessa istället! Det är enkelt att byta port om man vill det i ett senare läge, kanske man ska ta en krets med färre pinnar eller så men än så länge ser jag ingen orsak till att ta någon programmeringspinne till annat än just att programmera med.

Re: Problem med lcd, pic18f4680, mikroC

Postat: 17 januari 2009, 12:57:19
av Pyrro
Nu har jag lött om till portd och det funkar. Case closed.

/Pyrro