lcd driver zelf aan sturen

Pagina: 1 2 Laatste
Acties:
  • 305 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
kan iemand mij vertellen, hoe ik via vb zelf mijn 4x16 parpoort lcd kan aan sturen.

een module of info welke commando's ik door de par poort moet sturen. :? :?

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Lees de specs van de HD44780 controller ff door. Dan weet je welke signalen er naar het LCD moeten worden gestuurd. En als je dat weet kijk je naar het schema voor de connectie tussen de LPT poort en LCD, en dat weet je welke pinnen op de LPT poort je moet aansturen om iets op het LCD te toveren.

In P&W is hiero ook al een topic over geweest, dus gebruik ff de search (ben zelf te lui om het ff voor je op te zoeken hehe)

edit:
Hmm.. misschien is dit topic ook beter op z'n plaats in P&W.. maar er zitten hiero ook wat mensen (waaronder ik) die zelf een aansturing hebben geschreven.. alleen voor de non programmeurs wordt dit dan waarschijnlijk een niet interresant topic

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
Op dinsdag 08 januari 2002 20:04 schreef Creepy het volgende:
Lees de specs van de HD44780 controller ff door. Dan weet je welke signalen er naar het LCD moeten worden gestuurd. En als je dat weet kijk je naar het schema voor de connectie tussen de LPT poort en LCD, en dat weet je welke pinnen op de LPT poort je moet aansturen om iets op het LCD te toveren.

In P&W is hiero ook al een topic over geweest, dus gebruik ff de search (ben zelf te lui om het ff voor je op te zoeken hehe)

edit:
Hmm.. misschien is dit topic ook beter op z'n plaats in P&W.. maar er zitten hiero ook wat mensen (waaronder ik) die zelf een aansturing hebben geschreven.. alleen voor de non programmeurs wordt dit dan waarschijnlijk een niet interresant topic
kan je niet een guide schrijven hoe ik z'n driver kan schrijven.

dus hoe ik hem moet inializeren en zo

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Anoniem: 26758

he dat zou idd wel makkelijk zijn ... ik ben nog steeds opzoek naar een goeie guide die dat beschrijft, want ik wil zelf wel een beetje gaan progge met mun LCD :)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op dinsdag 08 januari 2002 20:12 schreef Mr-FaTMeN het volgende:

[..]

kan je niet een guide schrijven hoe ik z'n driver kan schrijven.

dus hoe ik hem moet inializeren en zo
Dat staat dus net allemaal in de specs enzo.. maar goed

Wat heb je al aan de gang? Ik wil best helpen zodat je het zelf kan bakken.. maar ik ga niks 100% voor je voorkauwen.

Er gaat waarschijnlijk een LCD-programming howto (van mijn hand) komen.... met voorbeelden.. maar dan wel zo dat je zelf ook nog wat moet doen om het werkende te krijgen, zodat je er zelf ook nog wat van leert.

Op internet zijn ook al redelijk wat guides/voorbeelden te vinden trouwens.

Er zijn ook kant en klare objecten/dll/etc. te vinden die de complete aansturing voor je afhandelen, of is dat niet wat je zoekt.

Ook gaat er een optie in LCDInf komen, zodat je messages kan sturen naar LCDInf om zelf de aansturing van het LCD te regelen. Maar ja.. wanneer dat af is.. :)

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
wie kan mij nog even helpen.

ik kan weet nu dat ik de par port aan kan sturen met dlportio.

en ik weet welke pinnen ik hoog en laag moet zetten initalisatie(ofzoiets)

maar hoe rekende ik ook al weer uit welke hex decimaal ik moes door sturen. om die pinnen aan te zetten.

plus maakt de tijd uit van door sturen?????

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Tijd maakt uit ja... maar alleen als je veel te snel bent. Te langzaam is niet erg.

Je kan zelf die waarde uitrekenen is super simpel. Gewoon binair naar decimaal rekenen

pin 0 hoog = 1
pin 1 hoog = 2
pin 3 hoog = 4
pin 4 hoog = 8
etc.

pin 1 en 4 hoog = 2+8 = 10 (gewoon optellen dus..)

En natuurlijk niet vergeten dat nadat je alle pinnen goed hebt gezet, je ff de enable (E op het LCD) hoog moet zetten, ff wachten, enable weer laag maken.

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
Op woensdag 09 januari 2002 11:53 schreef Creepy het volgende:
Tijd maakt uit ja... maar alleen als je veel te snel bent. Te langzaam is niet erg.

Je kan zelf die waarde uitrekenen is super simpel. Gewoon binair naar decimaal rekenen

pin 0 hoog = 1
pin 1 hoog = 2
pin 3 hoog = 4
pin 4 hoog = 8
etc.

pin 1 en 4 hoog = 2+8 = 10 (gewoon optellen dus..)

En natuurlijk niet vergeten dat nadat je alle pinnen goed hebt gezet, je ff de enable (E op het LCD) hoog moet zetten, ff wachten, enable weer laag maken.
oke het wilt niet echt lukken.

ik met het zo instellen

rs rv d7 d6 d5 d4 d3 d2 d1 d0
0 0 0 0 1 1 * * * *

Wat stuur ik dan door deparpoort.

ik dacht 24 op port 888.
klopt dit.
zo niet zou je dan van deze 8bit string een voorbeeld willen geven.
En natuurlijk niet vergeten dat nadat je alle pinnen goed hebt gezet, je ff de enable (E op het LCD) hoog moet zetten, ff wachten, enable weer laag maken.
Hoe doe ik dat is dat gewoon 1 door 890 sturen

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • 911GT2
  • Registratie: November 2001
  • Laatst online: 23-11-2023

911GT2

en blazen maar!

Ja ik zou dat ookwel willen weten....want ik ben net begonnen aan mijn case-mod :P ....pics volgen....en ik zou er graag een lcd-schermpie inzetten....maar kweenie hoe :'(

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op woensdag 09 januari 2002 15:27 schreef Mr-FaTMeN het volgende:
zou je anders alleen de initilaliezatiue

kunnen voor doen
Zoek een datasheet op van de controller. In 9 van de 10 gevallen staat er een recommended initialisation in in de vorm van een tabel met alles wat je moet weten.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op woensdag 09 januari 2002 12:44 schreef Mr-FaTMeN het volgende:

[..]

oke het wilt niet echt lukken.

ik met het zo instellen

rs rv d7 d6 d5 d4 d3 d2 d1 d0
0 0 0 0 1 1 * * * *

Wat stuur ik dan door deparpoort.

ik dacht 24 op port 888.
klopt dit.
zo niet zou je dan van deze 8bit string een voorbeeld willen geven.
[..]

Hoe doe ik dat is dat gewoon 1 door 890 sturen
d0 = pin0, en d1=pin1 etc (tot en met pin 7 dus) in mijn voorbeeld.
RS/RV/E zitten dus op de controlpoort.

Maaruh.... enige programeer ervaring is natuurlijk wel leuk... 1 week zelf hobby'en in welke taal dan ook telt natuurlijk niet..

IMHO kan je er beter mee ophouden als het je al gaat duizelen met woorden als "binair", of probeer eens wat info/boeken te vinden over programeren in het algemeen, het binaire tallenstelsel etc. Het lijkt allemaal "saaie" stof, maar voor dit soort dingen ERRUG handig!

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
ik ben geen niewbie in vb ofzo hoor. en binaire getallen en zo ken ik ook.
en hex en het omreken is ook geen probleem.

krijg ik mijn initalizatie er niet door.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op woensdag 09 januari 2002 16:30 schreef Mr-FaTMeN het volgende:
ik ben geen niewbie in vb ofzo hoor. en binaire getallen en zo ken ik ook.
en hex en het omreken is ook geen probleem.

krijg ik mijn initalizatie er niet door.
Wat gaat er specifiek niet? Wat heb je nu al? Wat denk je te missen?

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
ik denk dat ik dat e op lcd niet aan krijg.

als ik de initalisatie uit voer.
doen gebeurd er dus niks.

ik zal even mijn intilialtie igebruikt ik.

H38 op H378
H38 op H378
H38 op H378
H6 op H378
HC op H378
H1 op H378

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Lees je datasheet nog es goed met name het timings diagram

Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
oke de initalisatie werkt nu.

was inderdaad de e op lcd vergeten

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Je weet zeker dat je RS R/W en E goed aanstuurt?
En ben je de entry mode set niet vergeten?
En tussen die drie keer dezelfde waarde zenden moet je ook nog ff wachten met het LCD de tijd te geven.

Dit laatste wordt ERRUG vaak vergeten... de meeste LCD's doen er niet moeilijk over.. maar sommige dus wel.

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
Op woensdag 09 januari 2002 16:47 schreef Creepy het volgende:
Je weet zeker dat je RS R/W en E goed aanstuurt?
En ben je de entry mode set niet vergeten?
En tussen die drie keer dezelfde waarde zenden moet je ook nog ff wachten met het LCD de tijd te geven.

Dit laatste wordt ERRUG vaak vergeten... de meeste LCD's doen er niet moeilijk over.. maar sommige dus wel.
ik heb nu de cursor aan staan dus ik ben al wat verder

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
oke, ik kan er nu mee, schrijven.

hij pakt alleen maar regel 1 en 3.

2 en 4 blijven leeg.

wat kan ik heer tegen doen.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Kijk ff in de specs van de HD44780 controller, hierin staan ook de adressen van alle karakter posities op het LCD
(hint: zet eens iets op regel 21 van regel 1 en wees verbaasd! :) )

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
Op woensdag 09 januari 2002 21:36 schreef Creepy het volgende:
Kijk ff in de specs van de HD44780 controller, hierin staan ook de adressen van alle karakter posities op het LCD
(hint: zet eens iets op regel 21 van regel 1 en wees verbaasd! :) )
dat deed ik en was zeker verbaast toen hij regel 2 over sloeg

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

hm.. duh :) Mijn fout

* Creepy moet beter lezen!

Regel 3 loopt door op regel 1 (met een 4x16 of 4x20 dus)
en regel 4 loopt door op regel 2.

Welk adres gebruik je voor regel 2 en 4?

"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


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Op woensdag 09 januari 2002 22:51 schreef Creepy het volgende:
Welk adres gebruik je voor regel 2 en 4?
0x40 en 0x50 zijn iig de juiste :Y)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op donderdag 10 januari 2002 02:07 schreef Yarvieh het volgende:

[..]

0x40 en 0x50 zijn iig de juiste :Y)
Ik was te lui om het op te zoeken... of ben je alweer zo gefreaked op LCD's dat je ze al uit je hoofd weet? :P

"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


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Op donderdag 10 januari 2002 09:10 schreef Creepy het volgende:
Ik was te lui om het op te zoeken... of ben je alweer zo gefreaked op LCD's dat je ze al uit je hoofd weet? :P
Ehh ik wist dat de 2e regel altijd op 0x40 begint, hij heeft n 4x16 dus logish gezien zou regel 4 dan 0x50 worden, dus ermzz gefreaked dan maar >:)

Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
oke, ik denk dat ik heel anders weg schrijf dan jullie kunnen jullie zeggen hoe ik hem weg kan schrijven, z'n char, ben nu al heel de ochtens bezig maar het wil niet lukken.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Je kan toch al tekens op je LCD zetten?

Er is een commando om de positie te zetten, dus als je deze op 0x40 zet en dan een teken neerzet zou ie op de tweede regel moeten staan.

Ik heb zelf een buffer van 20x4. Hierin schrijf ik alles weg. Daarna zet ik de gehele buffer op het LCD (in psuedo code):
code:
1
2
3
4
5
for y:=1 to 4 do
begin
     setpositie(1,y)
     schrijfregel(buffer[y])
end;

Waarin setpositie de positie op het LCD aanpast (duh :) ), en schrijfregel 1 regel karakter voor karakter wegschrijft.

Op welke manier zet jij output op je LCD dan?

offtopic:
Dit wordt een redelijk P&W topic zo eigenlijk.. maar goed..

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
ik gebruik deze.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Function LCD_schrijf(text, Optional align As String, Optional HexMode As Boolean)

If IsMissing(HexMode) Or HexMode = False Then  'Check to see if it's HEX mode
    
    If IsMissing(align) Or LCase(align) = "left" Then
      text = text
    ElseIf LCase(align) = "center" Then
      text = Left(text, Rows)
      text = String(((16 - Len(text)) / 2), " ") & text
    ElseIf LCase(align) = "right" Then
      text = String((16 - Len(text)), " ") & text
    End If
    
    For i = 1 To Len(text)
    DlPortWritePortUchar Val("&H378"), Asc(Mid(text, i, 1))  
    DlPortWritePortUchar Val("&H37A"), &H6            
    DlPortWritePortUchar Val("&H37A"), &H5            
    Sleep (1)
    Next i

ElseIf HexMode = True Then
    DlPortWritePortUchar Val("&H378"), text          
    DlPortWritePortUchar Val("&H37A"), &H6           
    DlPortWritePortUchar Val("&H37A"), &H5            
End If

Sleep 1.64
End Function

maar hier kan ik gee posotie mee geven, maar hoe doe ik het dan met postitie welke functie heb ik dan nodig??

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Hoe je precies de pinnen moet aansturen om de positie in te stellen staat dus in de HD44780 specs (ik kan het niet vaak genoeg zegeen :) ).
Ze staan er alleen een beetje vermomd in. SetCGAddress en nog iets wat daar op lijkt.
De SetCGAddress is om een plek in het Charactor Generator RAM te kiezen (voor het maken van custom chars), en de andere is dus om een plek te kiezen in het normale RAM (dus de positie om karakters op het LCD te zetten).

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
zeg dan eens welke pinnenn ik precies moet aanspreken.

mijn data sheat of eigeleijk website legt dit niet echt goed uit.

geef anders is een link naar de data sheet die jij gebruikt.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Op donderdag 10 januari 2002 14:23 schreef Creepy het volgende:
Ze staan er alleen een beetje vermomd in. SetCGAddress en nog iets wat daar op lijkt.
setDDram adres als ik me niet vergis.

Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
kunnen jullie niet eens hard over jullie hard strijken.
en mij een voorbeeld geven.
of duidelijke uit leg

als is het maar in deze vorm
rs rw d7 d6 d5 d4 d3 d2 d1 d0
1 0 0 0 0 0 1 0 0 1

maar help me als je blieft een beetje op weg. ;(

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op donderdag 10 januari 2002 14:53 schreef Yarvieh het volgende:

[..]

setDDram adres als ik me niet vergis.
Dat was hem ja!
als is het maar in deze vorm
rs rw d7 d6 d5 d4 d3 d2 d1 d0
1 0 0 0 0 0 1 0 0 1
Dit staat dus precies in de specs. En wel:
code:
1
2
3
4
Instruction  RS RW DB7 DB6-DB0
Set DDRAM address 0  0  1   DDRAM address

Sets the DDRAM address. DDRAM data is sent and received after this setting.

Zie: http://home.iae.nl/users/pouweha/lcd/lcd.shtml en klik op 2.1: Instruction set

Dus voor regel 2 voor DDRAM adres 0x40 invullen, en dan gewoon weer karakters zenden.
De data die je dan naar de $378 stuurt is dan 0x40 + 128 (+ 128 omdat D7 op 1 moet staan)

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
ok dit werkt.
we gebruikte de zelfde datasheet.

er zit trouwens wel een fout in.
[/qoute]
00h..0Fh
40h..4Fh
14h..23h
54h..63h
[/quote]

maar dit moet

00h..0Fh 1e regel
40h..4Fh 2e regel
10h..1fh 3e regel
50h..5fh 4e regel

mischien wel nuttige info voor andere knutselaars

creepy nog een vraag na hoe veel tijd vervalt mijn text.
wat als ik hem aan laat staan dan is het ineens weg.

ik heb nog een vraag.
het scrollen van een text moet ik dat zlef via software doen, of kan de lcd dit zelf.
ik denk het eerste maar voor de zekkerheid vraag ik het maar.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op donderdag 10 januari 2002 17:08 schreef Mr-FaTMeN het volgende:
creepy nog een vraag na hoe veel tijd vervalt mijn text.
wat als ik hem aan laat staan dan is het ineens weg.

ik heb nog een vraag.
het scrollen van een text moet ik dat zlef via software doen, of kan de lcd dit zelf.
ik denk het eerste maar voor de zekkerheid vraag ik het maar.
Volgens mij is wegvallende tekst niet goed. Althans heb het nog nooit gezien en normaal gesproken zul je zelf softwarematig de tekst moeten weghalen.

Scrollen moet je ook via je eigen software doen. De controller heeft geen commando om de tekst te laten scrollen. Was het maar waar :)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Het scrollen van stukken tekst op je LCD moet je zelf doen ja. Je kan het geloof ik wel zo instellen dat als je een teken op je LCD zet, dat dan je LCD scrollt i.p.v. dat de cursor opschuift, maar een losse regel scrollen zul je toch echt zelf moeten doen. (super simpel met functies ala mid,left,right in VB)

Huh? Je tekst valt weg na verloop van tijd?? Ik heb hiero geen last van.. als ik tekst er op zet, mijn programma afsluit, blijft de tekst op het LCD net zolang staan totdat ik de power van het LCD afhaal..

Ah.. met LCDInf schrijf ik elke seconde het complete LCD, dus echt een probleem is het 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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
Op donderdag 10 januari 2002 18:32 schreef Creepy het volgende:
Het scrollen van stukken tekst op je LCD moet je zelf doen ja. Je kan het geloof ik wel zo instellen dat als je een teken op je LCD zet, dat dan je LCD scrollt i.p.v. dat de cursor opschuift, maar een losse regel scrollen zul je toch echt zelf moeten doen. (super simpel met functies ala mid,left,right in VB)

Huh? Je tekst valt weg na verloop van tijd?? Ik heb hiero geen last van.. als ik tekst er op zet, mijn programma afsluit, blijft de tekst op het LCD net zolang staan totdat ik de power van het LCD afhaal..

Ah.. met LCDInf schrijf ik elke seconde het complete LCD, dus echt een probleem is het niet.
de text komt waarschijnlijk omdat windows de print aanspreek denk ik.
als ik niks doe staat het ook de heletid maar ga ik dingen doen textverwerken of zo dan komen er weer de 2 balken.

dat scrollen ga ik ook maar eens proberen.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Op donderdag 10 januari 2002 18:34 schreef Mr-FaTMeN het volgende:
de text komt waarschijnlijk omdat windows de print aanspreek denk ik.
als ik niks doe staat het ook de heletid maar ga ik dingen doen textverwerken of zo dan komen er weer de 2 balken.
Klinkt erg dubieus, zitten de draadjes van je voeding niet gewoon los ofzo? :?

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op donderdag 10 januari 2002 20:05 schreef Yarvieh het volgende:

[..]

Klinkt erg dubieus, zitten de draadjes van je voeding niet gewoon los ofzo? :?
Het zou zo kunnen :) Sinds ik aan het experimenteren ben met LCDs ben, zijn echt de meest vage dingen opgedoken.... Zou me niks verbazen als het echt zo is, ook al zou je zeggen dat het eigenlijk niet zo kunnen.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op donderdag 10 januari 2002 18:34 schreef Mr-FaTMeN het volgende:

[..]
de text komt waarschijnlijk omdat windows de print aanspreek denk ik.
als ik niks doe staat het ook de heletid maar ga ik dingen doen textverwerken of zo dan komen er weer de 2 balken.
Hmm als die twee balken ineens komen, lijkt het er meer op dat de power voor het LCD ff wegvalt ofzo.. die twee balken betekent dat het LCD NIET is geinitialiseerd. Zolang je geen print-opdracht geeft zal windows je printerpoort met rust laten.. Ok, windows doet een hoop vage dingen, maar dat dan weer net niet hoor :+

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
het ligt inderdaad aan mijn voeding.

Ik wil er een winamp plug in bij zetten, en dit in vb.
kan dit.

iemand alwat tips

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Op vrijdag 11 januari 2002 18:10 schreef Mr-FaTMeN het volgende:
Ik wil er een winamp plug in bij zetten, en dit in vb.
kan dit.
Nee, kanniet.
iemand alwat tips
D'r heeft iemand een wrapper component gemaakt zodat je General purpose plugins kan maken,je hebt echter geen toegang tot de spectrum en waveform data vanuit zo'n plug dus echt veel heb je er niet aan.

http://www.winamp.com/nsdn/vault/WinAMP_VB.jhtml

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Ach ja.. win-amp plugins die de LCD aansturen zijn er toch al..

ik zelf vind het genoeg om alleen songtitle en tijd te kunnen tonen op het LCD, en daar heb je geen plug-in voor nodig.

"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


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
hoe hallen jullie die titel die winamp af speelt, haal je die via winamp.

of pak je het bestand en dan via de id3 tag van dat bestand.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op dinsdag 15 januari 2002 00:14 schreef Mr-FaTMeN het volgende:
hoe hallen jullie die titel die winamp af speelt, haal je die via winamp.

of pak je het bestand en dan via de id3 tag van dat bestand.
Rippen uit de titelbalk van winamp zelf. In C++ doe je dat zo;
code:
1
GetWindowText(plugin.hwndParent, geriptetitel, sizeof(geriptetitel));

in geriptetitel staat dan alle info die je wil hebben.

Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
Op dinsdag 15 januari 2002 00:22 schreef Zotty het volgende:

[..]

Rippen uit de titelbalk van winamp zelf. In C++ doe je dat zo;
code:
1
GetWindowText(plugin.hwndParent, geriptetitel, sizeof(geriptetitel));

in geriptetitel staat dan alle info die je wil hebben.
oke thx

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Nu online
ik heb nu een scroller er ingemaakt via een timer en nu vraag ik me af hoe jullie deze er in hebben gemaakt.

met een timer, of via lopp, of andere.

misschien met een omschrijving.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Ikzelf updat het complete LCD scherm elke seconde. (m.b.v. een timer).

En zelf hou ik per regel dan bij of er gescrolled moet worden, en zo ja, dan hou ik de start positie bij van de tekst die op die regel staat.

"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


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Ik hou de start tijd + het aantal tekens dat per seconde gescrolled moet worden, en op het moment dat ik een display teken vogel ik uit welk stuk uit de string ik moet pakken, zo garandeer ik dat ie altijd even snel scrolled en niet afhangkelijk ben van delays of toegewezen cputijd ect.

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op dinsdag 15 januari 2002 22:20 schreef Yarvieh het volgende:
Ik hou de start tijd + het aantal tekens dat per seconde gescrolled moet worden, en op het moment dat ik een display teken vogel ik uit welk stuk uit de string ik moet pakken, zo garandeer ik dat ie altijd even snel scrolled en niet afhangkelijk ben van delays of toegewezen cputijd ect.
LOL, dit is exact waar ik sinds gisteren mee bezig ben :)

Acties:
  • 0 Henk 'm!

Anoniem: 12353

Op woensdag 16 januari 2002 02:08 schreef Zotty het volgende:
LOL, dit is exact waar ik sinds gisteren mee bezig ben :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
void CDesigner::UpdateScrollPos()
{
    disp_data *s = DisplayData;
    while (s)
    {
        if (s->disp_type)
        {
            s->ScrollPos = (GetTickCount()-s->StartTick) / s->ScrollDelay;
        }
        s=s->next;
    }
}

En als je dan gaat tekenen de restwaarde (mod) pakken van ScrollPos / lengte string , op dat punt beginnen met kopieren van je string, en daarna aanvullen tot je aan de juiste breedte zit.

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op woensdag 16 januari 2002 07:43 schreef Yarvieh een stukje code:

[...]
Tnx! Scrollende tekst maken is best een tricky stukje code met al dat timer gedoe (en als je nog nooit eerder een degelijke iets gemaakt hebt ;)), dus misschien heb ik er wat aan. Het scrolled al wel, maar nog niet op de juiste manier.

Acties:
  • 0 Henk 'm!

Anoniem: 34031

[dit moet eigenlijk in P&W]
Even terugkomend op het scrollen, hoe is dit het beste te doen met meerdere regels :? 1 of 2 regels is geen probleem, maar zo'n display van 64 pixels hoog kan tot 8 regels, dus een efficient stukje code lijkt me wel handig.
Arrays wil ik niet gaan gebruiken. Het was wel het eerste wat in me opkwam, maar bijvoorbeeld "eenArray[256][256][256][256][256][256][256][256]" ziet er niet al te smakelijk uit. Ten 1ste kan ik het me niet voor stellen, ten 2e vreet het veel te veel geheugen, en ten 3e weet ik niet hoe je 18.446.744.073.709.551.616 uitspreekt :+

edit:
minimale geheugeneisen - 16384 petabyte >:)

edit 2:
Lama, ben er al uit. 8 regels kost nu max 2Kbyte aangeheugen. Dat is toch wel wat anders dan die dikke 16 duizend petabyte ;)

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op donderdag 17 januari 2002 15:08 schreef Mr-FaTMeN het volgende:
kun je het met ons delen zotty
Het is niks bijzonders hoor ;) De scrollroutine wordt nu voor elke regel apart gebruikt. Niet de beste oplossing qua coden, maar het werkt en kost max 8 regels x 256 bytes = 2K. Ben nu bezig met 2 scrollende regels maken, dus 2x bijna dezelfde code kan nog wel, het is niet zo groot. Mocht het meer worden, dan gaat die routine wel herschreven worden.

Waar het eigenlijk op neerkomt is dit:
code:
1
2
3
for(int i = 0; i < strlen(lineToScroll); i++) {
     temp[i] = temp[i + 1];
}

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

die 8 keer.. ok. maar hoe kom je aan die 256 bytes? Kan elke regel 256 tekens bevatten? Of is het 256 PIXELS? Als het dan zwart/wit is, dan heb je dus 256 keer 1 BIT.. i.p.v. byte.. das 1/4 KB i.p.v 2KB :-)

Heb je trouwens geen schuif routines voor array's? Of stukjes met pointers ofzo? MOcht je dan echt grote stukken gaan scrollen dan is het sneller om pointers te gebruiken.

1 pointer aanmaken van de grootte van alle pixels of karakters bij elkaar. EN dan een memcopy functie gebruiken die die pointer + lengte van 1 vertical regel naar het begin kopieerd. Dan heb je dus 1 regel code, die de hele LCD 1 regel scrollt.

(wordt wel errug P&W zo ja...)

"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


Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op donderdag 17 januari 2002 16:35 schreef Creepy het volgende:
die 8 keer.. ok. maar hoe kom je aan die 256 bytes? Kan elke regel 256 tekens bevatten? Of is het 256 PIXELS? Als het dan zwart/wit is, dan heb je dus 256 keer 1 BIT.. i.p.v. byte.. das 1/4 KB i.p.v 2KB :-)

Heb je trouwens geen schuif routines voor array's? Of stukjes met pointers ofzo? MOcht je dan echt grote stukken gaan scrollen dan is het sneller om pointers te gebruiken.

1 pointer aanmaken van de grootte van alle pixels of karakters bij elkaar. EN dan een memcopy functie gebruiken die die pointer + lengte van 1 vertical regel naar het begin kopieerd. Dan heb je dus 1 regel code, die de hele LCD 1 regel scrollt.

(wordt wel errug P&W zo ja...)
Er.... :? Snap het half, je wilt gaan werken met een offset oid? Vergeet niet dat dit m'n eerste progje is, dus zoveel truukjes ken ik nog niet ;) Elke tip is welkom, want je wilt niet weten hoe het nu in elkaar zit...

Die 256 is nu trouwens 128 en zo groot is de array waar de hele regel instaat. Dit kan bijv artiest of nummer zijn. Zit er zelfs aan te denken om het naar 64 te zetten.

edit:
Je verhoogt de pointer steeds, maar omdat de pointer naar een geheugenadres wijst en niet de tekst zelf, lijkt het alsof de tekst scrolled. Zit het zo? Maar hoe krijg je dan dat het geheel aan het eind ook nog klopt? Krijg je dan random dingen die achter de tekst in het geheugen staan?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Ah.. ok... ik zou een string (of een *char, o.i.d. afhankelijk van welke taal je gebruikt) gebruiken voor de titel. Voordeel: Hij is net zolang als dat ie wezen moet. en niet langer..

En hieruit dan karakters kopieren voor op het LCD. IK dacht ff dat je het over scrollen van een grafisch display had, waar je dus pixel voor pixel gaat scrollen.. maar dat zal wel redelijk traag zijn.. weet net hoe snel die grafische LCD's zijn.

"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


Acties:
  • 0 Henk 'm!

Anoniem: 34031

Aarg, zit ik het net te wijzigen als jij de reply zit te typen :P

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op donderdag 17 januari 2002 18:18 schreef Creepy het volgende:
Ah.. ok... ik zou een string (of een *char, o.i.d. afhankelijk van welke taal je gebruikt) gebruiken voor de titel. Voordeel: Hij is net zolang als dat ie wezen moet. en niet langer..

En hieruit dan karakters kopieren voor op het LCD. IK dacht ff dat je het over scrollen van een grafisch display had, waar je dus pixel voor pixel gaat scrollen.. maar dat zal wel redelijk traag zijn.. weet net hoe snel die grafische LCD's zijn.
Het scrollen gebeurt ook op een grafisch display, maar wat scrolled is tekst. Anders moet je tekst gaan omzetten naar grafisch en dat is op zich niet nodig. Tekst scrollen gaat goed, om te testen verplaatst de tekst zich elke halve seconde en blijft verder goed leesbaar.

Acties:
  • 0 Henk 'm!

Anoniem: 30685

Mr-FaTMeN => toevallig niet bereid om de initialisatie te posten die je hebt ?

want ik vind niet echt een referentie om op te bouwen

Acties:
  • 0 Henk 'm!

Anoniem: 30685

"nog niet" ...

waarom gewoon geen stukje ?
initialisatie dus ...

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op zondag 20 januari 2002 20:50 schreef Mr.ChronoM het volgende:
"nog niet" ...

waarom gewoon geen stukje ?
initialisatie dus ...
Of je kijkt de specs van de HD44780 controller op na!! Daar staat het PRECIES in!

Goed..... * Creepy strijkt over z'n hart
code:
1
2
3
4
5
6
7
8
9
10
  senddata(48,COMMAND);
  sleep(500);
  senddata(48,COMMAND);
  sleep(15);
  senddata(48,COMMAND);
  //entry mode set (32), 8 bits mode (16), 2 lines (8)
  senddata(32 or 16 or 8 ,COMMAND);
  displayoff;
  clear;
  displayon;

Hiero is LETTERLIJK de initialisatie code voor een 4x20 LCD in LCDInf. De commando's voor displayoff,clear en display on mag je zelf uit de specs halen.

De eerste parameter van senddata is de waarde voor de datapinnen van de lpt poort, de tweede paramter is de waarde voor de controlpinnen van de lpt poort. De waarde van COMMAND mag je ook zelf uitzoeken (nogmaals: het staat allemaal in de specs!)

"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


Acties:
  • 0 Henk 'm!

Anoniem: 30685

even tonen hoe nOOb ik wel ben ...

ik dacht dus, ik stuur met via DLportIO 48, naar de port 378, maar er is nog ergens een command nodig dus ... ?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

48 stuur je naar 378 ja
Maar hierna moet je ook nog de RS/RW/E pinnen aansturen.

COMMAND is bij mij een constante die de waarde voor de RW en RS pinnen aangeeft voor het sturen van een "commando" i.p.v. tekst. Ik heb ook een constate genaamd TEXT die dus de waarde voor de RW/RS pinnen zo zet dat het LCD tekst gaat tonen.

Senddata zet dus alle pinnen goed (op de control en de data poort), en gooit daarna de E omhoog en omlaag om aan het LCD door te geven dat ie wat moet gaan doen.

De functies clear, displayon etc. gebruiken zelf ook weer senddata (mocht het nog niet duidelijk zijn: senddata is een door mij zelf geschreven functie)

"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


Acties:
  • 0 Henk 'm!

Anoniem: 37450

topic in p&w:
[topic=386686/1/25]

Acties:
  • 0 Henk 'm!

Anoniem: 30685

Op maandag 21 januari 2002 09:36 schreef Creepy het volgende:
code:
1
2
3
4
5
6
7
8
9
10
  senddata(48,COMMAND);
  sleep(500);
  senddata(48,COMMAND);
  sleep(15);
  senddata(48,COMMAND);
  //entry mode set (32), 8 bits mode (16), 2 lines (8)
  senddata(32 or 16 or 8 ,COMMAND);
  displayoff;
  clear;
  displayon;
dit kan je beter niet posten ... want zonder de senddata functie heeft het totaal geen nut

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op maandag 21 januari 2002 17:53 schreef Mr.ChronoM het volgende:

[..]

dit kan je beter niet posten ... want zonder de senddata functie heeft het totaal geen nut
Het is toch duidelijk wat er bedoeld wordt :P

Acties:
  • 0 Henk 'm!

Anoniem: 30685

ik begrijp ondertussen al wel wat er bedoelt word en wat ik moet zenden ...

is die senddata iets in de richting van

DlPortWritePortUshort Val("&h378"), 48

of komt er zoals ik verwacht veel meer bij kijken ?
en dan nog de controls sturen natuurlijk

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op maandag 21 januari 2002 17:53 schreef Mr.ChronoM het volgende:

[..]

dit kan je beter niet posten ... want zonder de senddata functie heeft het totaal geen nut
Dit heeft geen nut? Ok.. als jij dat vindt.
Ik geef express geen complete code... code copy&pasten doe je maar ergens anders.

Zoals al gezegd, doet de senddata functie alle pinnen goed zetten, en gooit daarna de Enabled op het LCD omhoog en omlaag zodat het LCD wat gaan doen.

Wat van het bovenstaande kan je niet volgen? Wat gaat er mis? Lukt er al wel wat?

En misschien voor de mods: Move naar P&W?? (waar dit soort topics ook al een paar keer voorbij zijn gekomen!)

"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


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Op maandag 21 januari 2002 18:39 schreef Creepy het volgende:
(waar dit soort topics ook al een paar keer voorbij zijn gekomen!)
Wat maar weer bewijst dat ze search niet gebruikt hebben :'(

Acties:
  • 0 Henk 'm!

Anoniem: 30685

de search heeft niets van code over dit topic
wel stukken uitleg, maar ver kwammen we der niet mee, want der zijn op dit ogenblik 3 mensen bezig met dit stukje code in VB

=> heb ik bij de initialisatie die E nodig
waarschijnlijk wel dus ... ik stuur "een" waarde naar 37A om E hoog te zetten
ik stuur de waarde op de data pinnen 378
en stuur weer een waarde op 37A om E laag te zetten ?

zoiets ?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op maandag 21 januari 2002 18:59 schreef Mr.ChronoM het volgende:
de search heeft niets van code over dit topic
wel stukken uitleg, maar ver kwammen we der niet mee, want der zijn op dit ogenblik 3 mensen bezig met dit stukje code in VB

=> heb ik bij de initialisatie die E nodig
waarschijnlijk wel dus ... ik stuur "een" waarde naar 37A om E hoog te zetten
ik stuur de waarde op de data pinnen 378
en stuur weer een waarde op 37A om E laag te zetten ?

zoiets ?
Je snapt em!

Alleen doe ik zelf eerst de waarde naar 378 sturen
Dan de waarde naar 37a, waarbij de E hoog gaat, en dan de waarde naar 37a waarbij de E weer laag gaat

Ow.. dit is wel verneukeratief: De pin van de LPT poort waar E aanhangt is "omgedraaid" als je die pin op 1 zet, zal ie laag zijn i.p.v. hoog en bij 0 issie dus hoog i.p.v. laag.

Hmm.. in P&W is ook een topic voorbij gekomen waarbij iemand vroeg hoe die het in Delphi moest doen
ah... hiero is de link uit de search :)
[topic=325520/1/25]

"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


Acties:
  • 0 Henk 'm!

Anoniem: 12353

Op maandag 21 januari 2002 18:59 schreef Mr.ChronoM het volgende:
de search heeft niets van code over dit topic
Ik weet voor 10000% zeker dat er in P&W een topic staat met zelfs code voor 4x40 Aansturing... goed zoeken

Acties:
  • 0 Henk 'm!

Anoniem: 30685

ik begin beetje bij beetje te snappen wat ik allemaal mis deed

enkel het hoog (0) zetten vanE raak ik niet direct door

DlPortWritePortUshort Val("&h37A"), 0
?
zoiets of sla ik er nu echt wer komplet naast ?

Acties:
  • 0 Henk 'm!

Anoniem: 37450

hmmz, interessant uit dat delphi topic over lcd:
Binair Byte
00111000 -> 48
00111000 -> 48
00111000 -> 48 // Initialisatie
00000110 -> 6
00001100 -> 12

01001000 -> 71 // Letter H
01100001 -> 97 // Letter a
01101100 -> 108 // Letter l
01101100 -> 108 // Letter l
01101111 -> 111 // Letter o
hmmz, nu snap ik er ff nix meer van :)

Acties:
  • 0 Henk 'm!

Anoniem: 30685

ik denk dat ik het nu wel begin te snappen, maar die E waarde ...
wat moet ik naar waar sturen E hoog te krijgen ...?

Acties:
  • 0 Henk 'm!

  • ChoArrim
  • Registratie: Januari 2002
  • Laatst online: 26-03-2022
Op maandag 21 januari 2002 20:15 schreef LAuWe het volgende:
hmmz, interessant uit dat delphi topic over lcd:
[..]

hmmz, nu snap ik er ff nix meer van :)
mag ik wel ff melden

0011 1000 != 48 ;-)

?!


Acties:
  • 0 Henk 'm!

Anoniem: 37450

heeft echt niemand een compleet stuk code in vb, hoeft alleen maar de init te zijn, misschien snap ik het als ik dat doorlees.

Acties:
  • 0 Henk 'm!

Anoniem: 30685

Op maandag 21 januari 2002 20:46 schreef LAuWe het volgende:
heeft echt niemand een compleet stuk code in vb, hoeft alleen maar de init te zijn, misschien snap ik het als ik dat doorlees.
waar denk je dat ik achter zit te hopen ?
der is iemand, nl. Mr-Fatmen dacht ik die het wel heeft, maar die is zo lollig om het niet te willen zenden, omdat het OOIT eens open source komt

de starter van dit topic dus

Acties:
  • 0 Henk 'm!

Anoniem: 37450

Op maandag 21 januari 2002 20:56 schreef Mr.ChronoM het volgende:

[..]

waar denk je dat ik achter zit te hopen ?
der is iemand, nl. Mr-Fatmen dacht ik die het wel heeft, maar die is zo lollig om het niet te willen zenden, omdat het OOIT eens open source komt

de starter van dit topic dus
sorry hoor :)
ik heb wel een proggie maar geen source, tis gemaakt door de maker van lcdinf d8 ik, ik heb het op me andere computer staan. ff de topic zoeken waar ie in stond..

Acties:
  • 0 Henk 'm!

Anoniem: 30685

proggies geen probleem, maar de source dervan ? ...

ik heb smartie...

Acties:
  • 0 Henk 'm!

Anoniem: 37450

heb em gevonden...
[topic=192187/1/25]

maar geen source :(
misschien ff die duwde mailen?

edit: hij heeft weinig posts en het topic is oud.. :(

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op maandag 21 januari 2002 20:58 schreef LAuWe het volgende:

[..]

sorry hoor :)
ik heb wel een proggie maar geen source, tis gemaakt door de maker van lcdinf d8 ik, ik heb het op me andere computer staan. ff de topic zoeken waar ie in stond..
* Creepy IS de maker van LCDInf.. dus ik vraag me af welk proggie jij bedoelt.

Goed.. voor de mensen die errug graag source willen hebben: de LINUX versie van LCDInf is OPENSOURCE!!!! (hoor ik daar ergens applaus???? :P ). Al vanaf het moment dat ik een linux versie had, was ie opensource.
Downloaden en bekijken dus.. tis wel oude C code van mij (het kan een stuk netter.. maar goed). Hierin heb je dus de initialisatie, custom char's, tekenen van horizontale balken etc. Je moet het alleen nog ff omzetten naar VB dan, maar de C code is echt simpel.

En wel ff credits geven he :P (ja.. ik heb het allemaal zelf geschreven! niet afgekeken van LCDproc o.i.d. alleen de directe I/O is niet van mezelf.. maar dat staat ook in de betreffende source file)

"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


Acties:
  • 0 Henk 'm!

Anoniem: 37450

Op maandag 21 januari 2002 22:59 schreef Creepy het volgende:

[..]

* Creepy IS de maker van LCDInf.. dus ik vraag me af welk proggie jij bedoelt.

Goed.. voor de mensen die errug graag source willen hebben: de LINUX versie van LCDInf is OPENSOURCE!!!! (hoor ik daar ergens applaus???? :P ). Al vanaf het moment dat ik een linux versie had, was ie opensource.
Downloaden en bekijken dus.. tis wel oude C code van mij (het kan een stuk netter.. maar goed). Hierin heb je dus de initialisatie, custom char's, tekenen van horizontale balken etc. Je moet het alleen nog ff omzetten naar VB dan, maar de C code is echt simpel.

En wel ff credits geven he :P (ja.. ik heb het allemaal zelf geschreven! niet afgekeken van LCDproc o.i.d. alleen de directe I/O is niet van mezelf.. maar dat staat ook in de betreffende source file)
ik ken geen C :P

edit: sorry, ik bedoelde in me eerdere post de maker van lcdcenter. sorry!

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op dinsdag 22 januari 2002 08:45 schreef LAuWe het volgende:

[..]
ik ken geen C :P
Dan geef ik source weg.. gaat ie nog zeuren >:)

"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


Acties:
  • 0 Henk 'm!

Anoniem: 37450

:P

Acties:
  • 0 Henk 'm!

Anoniem: 37450

zou dat dan voor de initialisen en hallo te laten zien zijn:

DlPortWritePortUlong Val("888"), 48
DlPortWritePortUlong Val("888"), 48
DlPortWritePortUlong Val("888"), 48

DlPortWritePortUlong Val("888"), 6
DlPortWritePortUlong Val("888"), 12

*en dan hier E hoog zetten?*
DlPortWritePortUlong Val("890"), 1
DlPortWritePortUlong Val("890"), 0

DlPortWritePortUlong Val("888"), 71
DlPortWritePortUlong Val("888"), 97
DlPortWritePortUlong Val("888"), 108
DlPortWritePortUlong Val("888"), 108
DlPortWritePortUlong Val("888"), 111

*en dan weer e hoog/laag zetten?*


of zie ik iets over het hoofd/doe ik iets stoms?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

De E is om aan te geven dat op de rest van de pinnen data klaat staat. Dus elke keer als je wat naar het LCD zend, moet je daarna de E hoog/laag gooien om aan te geven dat er dus data staat.

Dit werkt dus totaal dan een seriele verbinding!

dus de init wordt dan:

48 zenden (ook niet vergeten RW/RW goed te zetten)
E omhoog, E Omlaag
48 zenden (ook niet vergeten RW/RW goed te zetten)
E omhoog, E Omlaag
etc. etc. etc.

In het geval van jou code moet je na elke writeuchar ook nog twee keer een writeuchar doen om de E hoog en laag te zetten.

Nogmaals: Wanneer de E hoog/laag moet zijn staat in de specs van de HD44780!!! Als je die niet gelezen hebt, of totaal niet snapt, kan je er toch echt beter mee stoppen! Dus RTFS (Read the fucking spec!)

"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


Acties:
  • 0 Henk 'm!

Anoniem: 37450

Op woensdag 23 januari 2002 17:10 schreef Creepy het volgende:
De E is om aan te geven dat op de rest van de pinnen data klaat staat. Dus elke keer als je wat naar het LCD zend, moet je daarna de E hoog/laag gooien om aan te geven dat er dus data staat.

Dit werkt dus totaal dan een seriele verbinding!

dus de init wordt dan:

48 zenden (ook niet vergeten RW/RW goed te zetten)
E omhoog, E Omlaag
48 zenden (ook niet vergeten RW/RW goed te zetten)
E omhoog, E Omlaag
etc. etc. etc.

IN het geval van jou code moet je na elke writeuchar ook nog twee keer een writeuchar doen om de E hoog en laag te zetten.
ook niet vergeten RW/RW goed te zetten --> hoe doe ik dat? en waarom moet dat?
de klopt het dat ik om de e omhoog te zetten ik eerst 0 naar 890 moet sturen en dan daarna omlaag zetten dus 1 naar 890 sturen?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 03-07 21:43

Creepy

Tactical Espionage Splatterer

Op woensdag 23 januari 2002 17:14 schreef LAuWe het volgende:

[..]

ook niet vergeten RW/RW goed te zetten --> hoe doe ik dat? en waarom moet dat?
de klopt het dat ik om de e omhoog te zetten ik eerst 0 naar 890 moet sturen en dan daarna omlaag zetten dus 1 naar 890 sturen?
1: Sorry.. maar als je te lam bent om de specs te lezen.. *zucht*.. daar staat ook in waar de andere pinnen op het LCD voor dienen, en aan de hand van het schema wat je tig keer hiero op GoT kan vinden kan je zien welke pin op de LPT poort hiermee in verbinding staat
2: Heb al aantal keer gezegd dat je ff naar de source van LCDInf moet kijken (de linux versie dus).

Als 1+2 niet genoeg voor je zijn.. jammer dan.. .. sorry, maar ik heb het echt ff gehad.. dat je newbie met wat betreft programmeren/lcd/lpt poort prima, maar als je duidelijk laat merken dat je niet eens de moeite hebt genomen om de specs te lezen dan houdt het voor mij op. Zoek dan gewoon naar een DLL/object whatever wat heel de aansturing voor je doet. Of je moet nog de mazzel hebben dat er nog andere mensen zijn die jou willen helpen. Op het moment dat je de specs hebt gelezen, en je komt met een vraag die niet meteen uit de specs, of uit de search, gehaald kan worden, ben ik weer bereidt te helpen.

"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


Acties:
  • 0 Henk 'm!

Anoniem: 37450

Op woensdag 23 januari 2002 17:43 schreef Creepy het volgende:

[..]

1: Sorry.. maar als je te lam bent om de specs te lezen.. *zucht*.. daar staat ook in waar de andere pinnen op het LCD voor dienen, en aan de hand van het schema wat je tig keer hiero op GoT kan vinden kan je zien welke pin op de LPT poort hiermee in verbinding staat
2: Heb al aantal keer gezegd dat je ff naar de source van LCDInf moet kijken (de linux versie dus).

Als 1+2 niet genoeg voor je zijn.. jammer dan.. .. sorry, maar ik heb het echt ff gehad.. dat je newbie met wat betreft programmeren/lcd/lpt poort prima, maar als je duidelijk laat merken dat je niet eens de moeite hebt genomen om de specs te lezen dan houdt het voor mij op. Zoek dan gewoon naar een DLL/object whatever wat heel de aansturing voor je doet. Of je moet nog de mazzel hebben dat er nog andere mensen zijn die jou willen helpen. Op het moment dat je de specs hebt gelezen, en je komt met een vraag die niet meteen uit de specs, of uit de search, gehaald kan worden, ben ik weer bereidt te helpen.
ok, heeel erg sorry (meen het echt) het was een erg stomme vraag :(

r/w is dus om te laten merken of je wilt readen of writen
0=write, 1=read.

hetgeen wat ik niet echt snap is hoe het precies werkt met die lpt-poort, hij stuurt parallel 8 bits naar pin 2 t/m 8 (d0 t/m d1) als je naar port 888 stuurd (dat is dus BASE : data)
en wat ik dan niet snap is hoe dat dan zit bij base +2 : controll, dan stuur je dus naar 890, maar welke stuurt ie dan aan (welke 8 pinnen)

over de source : die heb ik bekeken, maar ik heb nog nooit geen c/c++ gedaan/"gelezen" dus ik snapte er niet echt veel van.

verder heb je misshcien wel gelijk, moet ik er wel mee ophouden... :'(

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Lezen jullie ook de status van de controller uit? Krijg het hiet namelijk niet voor elkaar met de T6963C. De status komt wel op de paralelle poort te staan, maar windows leest de waarde blijkbaar niet in. Echt heel vaag, dus als een van jullie nog een tip heeft, graag.

Acties:
  • 0 Henk 'm!

Anoniem: 37450

meen me iets er van te herinneren dat de computer kan checken of de lcd ready is om data te ontvangen.

edit ff gezocht, klopt idd, Read Busy Flag & Address en Read Data from CG or DD RAM.

Acties:
  • 0 Henk 'm!

Anoniem: 34031

Op woensdag 23 januari 2002 18:23 schreef LAuWe het volgende:
meen me iets er van te herinneren dat de computer kan checken of de lcd ready is om data te ontvangen.
Ik kan de status wel uitlezen, zolang het maar bij 1x blijft. Zodra er bijv. een while(controller ik druk) lusje gebruikt wordt, krijgt DLportIO alleen maar nullen binnen. Terwijl dus wel de status op de printerpoort staat. Misschien dat 1 van de andere 'LCD programmeurs' dit probleem ook is tegengekomen en de oplossing weet.

Acties:
  • 0 Henk 'm!

Anoniem: 30685

der mee ophouden = onzin !
bekijk dit topic, zoek naar mijn naam en lach met de domme vragen
ondertussen (in 2 dagen) heb ik een klokje, een prog dat de titel en artiest van winamp op mijn LCD zet en een MSN progje(toont het aantal nieuwe mails)

binaire sh!t:
code:
1
2
3
1  2  4  | 128 64  32  16  8   4   2   1  
E RW RS  | D7  D6  D5  D4  D3  D2  D1  D0 
CONTROL       DATA

lettertje schrijven
DlPortWritePortUchar 890, 6
DlPortWritePortUchar 888, asc("a")
DlPortWritePortUchar 890, 5

even de 6 en 5 uitrekenen(met schema derboven) en dan weet je al hoe ik de schrijf, E en ander andere hoog zetten

de init reken je op dezelfde manier uit
ik heb in de init 7 waarde die ik schrijf
48
48
48
en nog 4
ik heef niet letterlijk alles natuurlijk
zoek eens uit in je datasheet waar de 48 vandaag komt en je bent al HEEL ver
alles wat ik prog is decimaal, omdat ik dat persoonlijk makkleijker vind

geef niet op, ok ?
nog even zoeken en dan zal je erg echt lang plezier aan beleven, de mogelijkheden lijken nog oneindig voor mij ;)

have fun !

Acties:
  • 0 Henk 'm!

Anoniem: 30685

het uitlezen van die busy flag lukte bij mij ook maar 1 of soms 2 keer ...
had er een oplossing voor, die ik kwijt ben :(

ik ga terug op zoek ...

Acties:
  • 0 Henk 'm!

Anoniem: 37450

Op woensdag 23 januari 2002 18:28 schreef Mr.ChronoM het volgende:
der mee ophouden = onzin !
bekijk dit topic, zoek naar mijn naam en lach met de domme vragen
ondertussen (in 2 dagen) heb ik een klokje, een prog dat de titel en artiest van winamp op mijn LCD zet en een MSN progje(toont het aantal nieuwe mails)

binaire sh!t:
code:
1
2
3
1  2  4  | 128 64  32  16  8   4   2   1  
E RW RS  | D7  D6  D5  D4  D3  D2  D1  D0 
CONTROL       DATA

lettertje schrijven
DlPortWritePortUchar 890, 6
DlPortWritePortUchar 888, asc("a")
DlPortWritePortUchar 890, 5

even de 6 en 5 uitrekenen(met schema derboven) en dan weet je al hoe ik de schrijf, E en ander andere hoog zetten

de init reken je op dezelfde manier uit
ik heb in de init 7 waarde die ik schrijf
48
48
48
en nog 4
ik heef niet letterlijk alles natuurlijk
zoek eens uit in je datasheet waar de 48 vandaag komt en je bent al HEEL ver
alles wat ik prog is decimaal, omdat ik dat persoonlijk makkleijker vind

geef niet op, ok ?
nog even zoeken en dan zal je erg echt lang plezier aan beleven, de mogelijkheden lijken nog oneindig voor mij ;)

have fun !
tnx dude ;)
daar had ik al naar gekeken, ik heb een conrad lcd, en op de datasheet staat de 8bit init, die snapte ik eerst niet, maar ik begin het te snappen

die 48 komt door de 0 0 0 0 1 1 0 0 0 0
die 3 keer sturen (met tussenpauzes)

en die er daarna komen snap ik niet helemaal (duits is niet me beste vak :) )
edit: ok, het zijn dus :
-funktion set (stelt de lines*chars van de lcd in ..?)
-display an (aan)
-display loschen (clearen)
-entry mode set (...?)

die T6963c sstaat in diezelfde datasheet,
http://www.produktinfo.conrad.de/datenblaetter/150000-199999/184594-da-01-ml-LCD-Modul_16x2_Zeichen_LED_de-en.pdf
Pagina: 1 2 Laatste

Dit topic is gesloten.