otvoris xlcd.h i procitas sta pise unutra
Code:
* Notes:
* - These libraries routines are written to support the
* Hitachi HD44780 LCD controller.
* - The user must define the following items:
* - The LCD interface type (4- or 8-bits)
* - If 4-bit mode
* - whether using the upper or lower nibble
* - The data port
* - The tris register for data port
* - The control signal ports and pins
* - The control signal port tris and pins
* - The user must provide three delay routines:
* - DelayFor18TCY() provides a 18 Tcy delay
* - DelayPORXLCD() provides at least 15ms delay
* - DelayXLCD() provides at least 5ms delay
dakle moras da setujes koji ces interface da koristis, to radis tako sto
definises ili ne BIT8 makro, dakle ako je definisano BIT8 osmobitni je
interface inace je 4bitni, takodje moras da napises ove 3 delay funkcije
sam.
data port i tris_data port u kombinaciji sa UPPER makroom definisu gde
su data linije
dalje imas tu TRIS_RW, RW_PIN .. etc koji definisu controlne linije
e sad, xc8 ima ovaj heder prilicno lose napisan (trebalo bi za svaki
ovaj define realno da bude ifdef pa ako ga ti definises kod sebe da ga
on ne definise ovde) tako da ako hoces da koristis druge portove od ovih
default moras ili da iskopiras ovaj heder u svoj projekat (dakle ne
inkludujes original iz plib nego kopiras kod sebe pa editujes) ili kod
sebe da radis #undef pa #define da bi redefinisao ove portove gde tebi treba
Sto se tice GDE ce da ispise, puts/putrs ispisuje text na trenutnoj
poziciji kursora. tako radi svaka valjana lcd biblioteka. a postoji
komanda da postavis trenutni kursor gde hoces (e sad jbg xlcd nema
gotoxy funkciju pa moras sam) ... na primer:
Code:
void lcdGotoXY(int x, int y) {
x |= 0x80; // Set LCD for first line write
switch (y){
case 1:
x |= 0x40;
break;
case 2:
x |= 0x60;
break;
case 3:
x |= 0x20;
break;
}
WriteCmdXLCD(x);
}