Ik ben bezig om zelf een proggie te schrijven met behulp van DlPortio.dll. Dit heb ik tot nu toe:
Het probleem: Hij doet helemaal niks!!
.
Ik heb het proggie in Delphi 6 geschreven en hij start ook op. Hij cleared het display helemaal niet. De 2 zwarte balken blijven staan.
Wat doe ik fout?
Ik snap er niks van.
Oh ja als ik het proggie start dan knippert het LCD wel een beetje, maar of dat er nou iets mee te maken heeft?
Met smartie werkt het LCD wel dus het ligt niet aan de LCD.
Iemand die mij kan helpen?
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
| var Form1: TForm1; LCD_CONTROL_ADDRESS : longint = $380; LCD_DATA_ADDRESS : longint = $378; implementation {$R *.dfm} procedure DlPortWritePortUchar(Port : longint;Value : byte)stdcall; external 'C:\Windows\System32\DLPORTIO.DLL'; procedure LCD_WriteControl(data : byte); begin DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $B); DlPortWritePortUchar(LCD_DATA_ADDRESS, data); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $A); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $B); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $9); Sleep(100); end; procedure LCD_WriteControl2(data : byte); begin DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $B); DlPortWritePortUchar(LCD_DATA_ADDRESS, data); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $3); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $B); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $9); Sleep(100); end; procedure LCD_WriteData(data : byte); begin DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $7); DlPortWritePortUchar(LCD_DATA_ADDRESS, data); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $6); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $7); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $5); Sleep(10); end; procedure LCD_WriteData2(data : byte); begin DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $7); DlPortWritePortUchar(LCD_DATA_ADDRESS, data); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $6); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $7); DlPortWritePortUchar(LCD_CONTROL_ADDRESS, $5); Sleep(10); end; procedure TForm1.FormCreate(Sender: TObject); begin LCD_WriteControl($38); Sleep(50); LCD_WriteControl2($38); Sleep(50); LCD_WriteControl($38); Sleep(50); LCD_WriteControl2($38); Sleep(50); LCD_WriteControl($38); LCD_WriteControl2($38); LCD_WriteControl($38); LCD_WriteControl2($38); LCD_WriteControl($6); LCD_WriteControl2($6); LCD_WriteControl($C); LCD_WriteControl2($C); LCD_WriteControl($1); LCD_WriteControl2($1); end; |
Het probleem: Hij doet helemaal niks!!
Ik heb het proggie in Delphi 6 geschreven en hij start ook op. Hij cleared het display helemaal niet. De 2 zwarte balken blijven staan.
Wat doe ik fout?
Oh ja als ik het proggie start dan knippert het LCD wel een beetje, maar of dat er nou iets mee te maken heeft?
Met smartie werkt het LCD wel dus het ligt niet aan de LCD.
Iemand die mij kan helpen?