[LCD] probleem met 3de en 4de regel met een 4 x 40

Pagina: 1
Acties:
  • 289 views sinds 30-01-2008
  • Reageer

  • nrico
  • Registratie: September 2000
  • Laatst online: 13:39
Heb een probleem om een tekstje naar de lcd display, display is een 4 x 40 display met HD44780 controller via LPT, te sturen. De ene keer gaat wordt het complete tekstje weergeven en de andere keer wordt er een "teken" vergeten.

Probleem zit denk ik in de aansturing en niet in de timing omdat de 1ste en 2de regel wel goed werken met dezelfde funcities wel goed werkt maar de 3de en 4de niet.

waar zit nu de fout?

control functie op regel 3 en 4->
0x0B,
dan de data,
0xF3,
0x0B,
0x09
(hex waarden op control address, data op data address)

data functie op regel 3 en 4 ->
0x0F,
dan de data,
0x17,
0x0F,
0x0D
(hex waarden op control address, data op data address)

de vraag is nu stuur ik de juiste waarden naar het control address of moet ik het toch echt in de timing zoeken.

Ik programmeer het in Visual Basic 6 en met behulp van de functies van DLPortIO (aanroep van deze functies moet goed zijn want geen compile error en progamma crashed niet)

(zeg niet dat in basic hex anders geschreven moet worden want dat doe ik al wel maar ik vind &h(getal) geen gezicht )

  • JER00N
  • Registratie: Maart 2002
  • Niet online
Het zou kunnen dat de verbindingen niet helemaal goed zitten... :?

Verwijderd

hoe strak heb je je timing precies? gedaan met'n sleep of met 'n hele strakke queryperformancecounter loop?

  • nrico
  • Registratie: September 2000
  • Laatst online: 13:39
timer gewoon met

for i=1 to 30000
next i

dus lekker simpel

PC is niet zo snel is een PII 350
Maar eerste 2 regels werken gewoon :?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

Als het op de eerste 2 regels wel goed lukt, dan zit het probleem waarschijnlijk niet in de timing, maar op de manier van aansturing van de juiste enable pin.

Ik heb ongeveer hetzelfde probleem maar dan dat de onderste 2 regels van de 4x40 gaan scrollen.. en zonder een 4x40 is dat een beetje moeilijk testen :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • nrico
  • Registratie: September 2000
  • Laatst online: 13:39
nog even verder geprutst. Maar het rare is, dit probleem treed op als geen gebruik woprdt gemaakt van de cursor positionering.

Dus als ik de cursor ga plaatsen en dan een tekstje schrijf werkt het (tot zover ik het nu kan bekijken)

Hoe bedoel je dat de tekst gaat scrollen, ga dit automatisch ?

  • Petzl
  • Registratie: December 2001
  • Laatst online: 05-08 20:57
hd ik ook problemen mee en ik draai nu gewoon winLCD

http://www.mp3car.com/software.html

  • nrico
  • Registratie: September 2000
  • Laatst online: 13:39
Ja maar ik wil zelf wat op dat display knutselen. Dus aan zo'n ander progje heb je dan niet zo veel.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

Op dinsdag 09 april 2002 07:24 schreef nrico het volgende:
nog even verder geprutst. Maar het rare is, dit probleem treed op als geen gebruik woprdt gemaakt van de cursor positionering.

Dus als ik de cursor ga plaatsen en dan een tekstje schrijf werkt het (tot zover ik het nu kan bekijken)

Hoe bedoel je dat de tekst gaat scrollen, ga dit automatisch ?
Hmm.. dat is wel heel vreemd.. heel misschien toch je timing? Probeer eens een sleep i.p.v. een forloop. Een sleep is eigenlijk klote om te gebruiken voor zo'n hele korte wachttijd, maar je weet dan zeker dat het genoeg is.

Hoe het scrolt? Geen idee..,. heb het zelf niet gezien, wel gehoor van een aantal mensen die een nieuwe versie hebben getest. Eerst was alles ok, daarna heb ik de code redelijk omgegooid (van losse LCD functies naar een LCD klasse (OO) om ondersteuning voor meerdere LCD's makkelijker te maken), maar sindsdien scrollen dus de onderste 2 regels. Ik dacht dat ik de 2 controllers precies hetzelfde initialiseerde (dus geen automatische scrolling etc.), maar blijkbaar gaat er toch wat mis.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • nrico
  • Registratie: September 2000
  • Laatst online: 13:39
Maar Creepy, jij stuur met dezelfde codes (hex getallen) die display aan of gebruik je andere?

Hmm dat sleep kan ik nog proberen, het is wel in Visual basic en daar ben ik niet zo in thuis.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

Op dinsdag 09 april 2002 09:05 schreef nrico het volgende:
Maar Creepy, jij stuur met dezelfde codes (hex getallen) die display aan of gebruik je andere?

Hmm dat sleep kan ik nog proberen, het is wel in Visual basic en daar ben ik niet zo in thuis.
Hmm.. de hex. waarde's weet ik niet zo uit m'n hoofd. Zou ik als ik thuis ben vanavond ff naar kunnen kijken.

Ben je wel thuis in anderen talen? Waarom gebruik je die dan niet?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • nrico
  • Registratie: September 2000
  • Laatst online: 13:39
Wel thuis in C, heb het ook al een beetje in Dos C voor elkaar gekregen maar ik wil display koppelen met TV-kaart (teletekst) en dan is het handiger in Windows.

Ook al wat geprobeerd met Visual C++ maar dan krijg je classes en dan vind ik het heel moeilijk worden.

Verder ken ik nog een andere windows programmeer taal maar die kan de lpt poort niet op hetzelfde niveau aanspreken zoals met die DLportIO oid. Dus daar heb ik niets aan.

  • nrico
  • Registratie: September 2000
  • Laatst online: 13:39
Heb het net ff wat geprobeer maar het probeert en wat (oude) topics doorgelezen maar het probleem zat het toch in de timing. Dus het gaat nu goed. Overigens wel raar dat de eerste 2 regel wel werkten en de 3de en 4de niet, maar dat zal wel aan windows liggen oid. :?

Ik welke taal heb jij het dan gemaakt creepy? In Visual C of delphi of iets anders?

Loop nu tegen problemen aan met het omzetten van Dos C naar visual basic maargoed. Ook tegen een probleempje in de MSDN library met een DDE koppeling. maar daar ga ik nog ff naar zoeken.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

Op dinsdag 09 april 2002 19:07 schreef nrico het volgende:
Ik welke taal heb jij het dan gemaakt creepy? In Visual C of delphi of iets anders?
De aansturing heb ik zowel in Delphi (voor de Windows versie) als in C (de Linux versie) gemaakt.

Maar ik zit er nu aan te denken om een rewrite te doen in C++ zodat ik vanaf 1 codebase de Linux en Windows aansturing kan onderhouden. Nu loopt de Linux versie een stuk achter in vergelijking met de Windows versie.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • nrico
  • Registratie: September 2000
  • Laatst online: 13:39
Kun je in delphi dan ook gebruik maken van die DLportIO? Ik heb de help / documentatie van DLportIO globaal bekenen maar daar kon ik er niets van vinden.

Of moet je gewoon de C-code gebruiken en die een beetje naar delphi aanpassen (de variablen declaratie).

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

Ik gebruik DLPortIO zonder problemen in Delphi. Ff in de docs kijken hoe de aanroepen zijn in VB of C, en dan omzetten ja.

Voor diegenen die werk willen besparen:
code:
1
2
procedure DlPortWritePortUchar(port: ulong;value:byte); stdcall; external 'dlportio.dll';
function DlPortReadPortUchar(Port:ulong): byte; stdcall; external 'dlportio.dll';

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1