[VB] [LCD] Busy Flag

Pagina: 1
Acties:

  • janst
  • Registratie: Oktober 2000
  • Laatst online: 13-09 14:01

janst

A new comrade joins us

Topicstarter
Ik ben bezig met het maken van een lcd programmatje voor mijn 4x40 lcd op de LPT poort. Tot zover gaat alles goed, ik heb alleen een probleem met de timing.
1 ms is eigenlijk net iets te lang als delay als de intructie maar 40 microseconde duurt. De oplossing zou de busy flag zijn, die 0 wordt zodra de lcd klaar is, alleen wil de volgende code (VB) niet werken:
code:
1
2
3
4
5
6
7
8
9
Dim Busy As Boolean
vbOut &H37A, &H1              'RS=0, R/W=1, E=0
vbOut &H378, &H0

Do: DoEvents
vbOut &H37A, &H0              'RS=0, R/W=1, E=1
If vbIn(&H378) < 128 Then Busy = False Else Busy = True
vbOut &H37A, &H1              'RS=0, R/W=1, E=0
Loop Until Busy = False

Het probleem is dat vbIn(&H378) altijd dezelfde waarde teruggeeft die ik als laatste heen heb gestuurd (met vbOut &H378, &H0 bijvoorbeeld), in plaats van de busy flag en address :'(.
Wat doe ik verkeerd?

Verwijderd

Ik heb geen idee, ik ben er zelf ook een aantal avonden mee bezig geweest en die busy flag(of m'n lpt) werkt erg onbetrouwbaar, je kan beter een delay loopje maken dmv QueryPerfomanceCounter.

ps. als je nu je timing dmv sleep doet, heb je *geen* delays van 1 ms (zoals je verwacht) maar van minimaal 15 of 10ms op een NT systeem of 55ms op de 9x serie ;)

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 12:04

Super_ik

haklust!

heb je wel de ingangs poort van de parralle poort en is dt niet gewoon de uitgangspoort :? je moet d8 ik 379 of 37a hebbe

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • janst
  • Registratie: Oktober 2000
  • Laatst online: 13-09 14:01

janst

A new comrade joins us

Topicstarter
Op zondag 30 december 2001 13:28 schreef Super_ik het volgende:
heb je wel de ingangs poort van de parralle poort en is dt niet gewoon de uitgangspoort :? je moet d8 ik 379 of 37a hebbe
Volgens het datablad is de busy flag DB7, en die zit aangesloten op register 378 volgens mij.