Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
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)
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
kan je niet een guide schrijven hoe ik z'n driver kan schrijven.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
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
Anoniem: 26758
Dat staat dus net allemaal in de specs enzo.. maar goedOp 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
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
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
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
oke het wilt niet echt lukken.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.
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 sturenEn 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.
Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
kunnen voor doen
Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
Anoniem: 34031
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.Op woensdag 09 januari 2002 15:27 schreef Mr-FaTMeN het volgende:
zou je anders alleen de initilaliezatiue
kunnen voor doen
d0 = pin0, en d1=pin1 etc (tot en met pin 7 dus) in mijn voorbeeld.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
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
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
Wat gaat er specifiek niet? Wat heb je nu al? Wat denk je te missen?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.
"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
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
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
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
ik heb nu de cursor aan staan dus ik ben al wat verderOp 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.
Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
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
(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
dat deed ik en was zeker verbaast toen hij regel 2 over sloegOp 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!)
Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
* 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
Anoniem: 12353
0x40 en 0x50 zijn iig de juisteOp woensdag 09 januari 2002 22:51 schreef Creepy het volgende:
Welk adres gebruik je voor regel 2 en 4?
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?Op donderdag 10 januari 2002 02:07 schreef Yarvieh het volgende:
[..]
0x40 en 0x50 zijn iig de juiste
"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
Anoniem: 12353
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 maarOp 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?
Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
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):
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
Op welke manier zet jij output op je LCD dan?
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
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
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
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
Anoniem: 12353
setDDram adres als ik me niet vergis.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.
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
Dat was hem ja!Op donderdag 10 januari 2002 14:53 schreef Yarvieh het volgende:
[..]
setDDram adres als ik me niet vergis.
Dit staat dus precies in de specs. En wel: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
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
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
Anoniem: 34031
Volgens mij is wegvallende tekst niet goed. Althans heb het nog nooit gezien en normaal gesproken zul je zelf softwarematig de tekst moeten weghalen.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.
Scrollen moet je ook via je eigen software doen. De controller heeft geen commando om de tekst te laten scrollen. Was het maar waar
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
de text komt waarschijnlijk omdat windows de print aanspreek denk ik.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.
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
Anoniem: 12353
Klinkt erg dubieus, zitten de draadjes van je voeding niet gewoon los ofzo?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.
Anoniem: 34031
Het zou zo kunnenOp donderdag 10 januari 2002 20:05 schreef Yarvieh het volgende:
[..]
Klinkt erg dubieus, zitten de draadjes van je voeding niet gewoon los ofzo?
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 hoorOp 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.
"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
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
Anoniem: 12353
Nee, kanniet.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.
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.iemand alwat tips
http://www.winamp.com/nsdn/vault/WinAMP_VB.jhtml
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
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
Anoniem: 34031
Rippen uit de titelbalk van winamp zelf. In C++ doe je dat zo;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.
1
| GetWindowText(plugin.hwndParent, geriptetitel, sizeof(geriptetitel)); |
in geriptetitel staat dan alle info die je wil hebben.
oke thxOp 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.
Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
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
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
Anoniem: 12353
Anoniem: 34031
LOL, dit is exact waar ik sinds gisteren mee bezig benOp 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.
Anoniem: 12353
Op woensdag 16 januari 2002 02:08 schreef Zotty het volgende:
LOL, dit is exact waar ik sinds gisteren mee bezig ben
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.
Anoniem: 34031
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 hebtOp woensdag 16 januari 2002 07:43 schreef Yarvieh een stukje code:
[...]
Anoniem: 34031
Even terugkomend op het scrollen, hoe is dit het beste te doen met meerdere regels
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
Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
Anoniem: 34031
Het is niks bijzonders hoorOp donderdag 17 januari 2002 15:08 schreef Mr-FaTMeN het volgende:
kun je het met ons delen zotty
Waar het eigenlijk op neerkomt is dit:
1
2
3
| for(int i = 0; i < strlen(lineToScroll); i++) { temp[i] = temp[i + 1]; } |
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
Anoniem: 34031
Er....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...)
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?
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
Anoniem: 34031
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.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.
Anoniem: 30685
want ik vind niet echt een referentie om op te bouwen
Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein
Of je kijkt de specs van de HD44780 controller op na!! Daar staat het PRECIES in!Op zondag 20 januari 2002 20:50 schreef Mr.ChronoM het volgende:
"nog niet" ...
waarom gewoon geen stukje ?
initialisatie dus ...
Goed..... * Creepy strijkt over z'n hart
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
Anoniem: 30685
ik dacht dus, ik stuur met via DLportIO 48, naar de port 378, maar er is nog ergens een command nodig dus ... ?
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
Anoniem: 30685
dit kan je beter niet posten ... want zonder de senddata functie heeft het totaal geen nutOp 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;
Anoniem: 34031
Het is toch duidelijk wat er bedoeld wordtOp 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
Anoniem: 30685
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
Dit heeft geen nut? Ok.. als jij dat vindt.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
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
Anoniem: 12353
Wat maar weer bewijst dat ze search niet gebruikt hebbenOp maandag 21 januari 2002 18:39 schreef Creepy het volgende:
(waar dit soort topics ook al een paar keer voorbij zijn gekomen!)
Anoniem: 30685
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!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 ?
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
Anoniem: 12353
Ik weet voor 10000% zeker dat er in P&W een topic staat met zelfs code voor 4x40 Aansturing... goed zoekenOp maandag 21 januari 2002 18:59 schreef Mr.ChronoM het volgende:
de search heeft niets van code over dit topic
Anoniem: 30685
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 ?
Anoniem: 37450
hmmz, nu snap ik er ff nix meer vanBinair 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
Anoniem: 30685
wat moet ik naar waar sturen E hoog te krijgen ...?
mag ik wel ff meldenOp 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
0011 1000 != 48 ;-)
?!
Anoniem: 37450
Anoniem: 30685
waar denk je dat ik achter zit te hopen ?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.
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
Anoniem: 37450
sorry hoorOp 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
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..
Anoniem: 37450
[topic=192187/1/25]
maar geen source
misschien ff die duwde mailen?
edit: hij heeft weinig posts en het topic is oud..
* Creepy IS de maker van LCDInf.. dus ik vraag me af welk proggie jij bedoelt.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..
Goed.. voor de mensen die errug graag source willen hebben: de LINUX versie van LCDInf is OPENSOURCE!!!! (hoor ik daar ergens applaus????
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
"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
Anoniem: 37450
ik ken geen COp 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????). 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(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)
edit: sorry, ik bedoelde in me eerdere post de maker van lcdcenter. sorry!
Dan geef ik source weg.. gaat ie nog zeurenOp dinsdag 22 januari 2002 08:45 schreef LAuWe het volgende:
[..]
ik ken geen C
"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
Anoniem: 37450
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?
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
Anoniem: 37450
ook niet vergeten RW/RW goed te zetten --> hoe doe ik dat? en waarom moet dat?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.
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 staatOp 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?
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
Anoniem: 37450
ok, heeel erg sorry (meen het echt) het was een erg stomme vraagOp 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.
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...
Anoniem: 34031
Anoniem: 37450
edit ff gezocht, klopt idd, Read Busy Flag & Address en Read Data from CG or DD RAM.
Anoniem: 34031
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.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.
Anoniem: 30685
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:
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 !
Anoniem: 37450
tnx dudeOp 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 !
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
Dit topic is gesloten.