Testo e Glcd Ks108
10 Anni 9 Mesi fa #21
da seastar2262
Risposta da seastar2262 al topic Testo e Glcd Ks108
ho scaricato XC 8 ora provo a compilare usando la tua libreria.
una ultima domanda:
i controlli CS1, CS2, R/W, sono collegati alla PORTE, D/I, EN, RST, alla PORTB e il DataBus sulla PORTD... può generare problemi avere i controlli "sparsi"??
Grazie comunque per tutte le informazioni e la pazienza.
Saluti
Massimo
una ultima domanda:
i controlli CS1, CS2, R/W, sono collegati alla PORTE, D/I, EN, RST, alla PORTB e il DataBus sulla PORTD... può generare problemi avere i controlli "sparsi"??
Grazie comunque per tutte le informazioni e la pazienza.
Saluti
Massimo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- seastar2262
- Autore della discussione
- Visitatori
10 Anni 9 Mesi fa - 10 Anni 9 Mesi fa #22
da Mauro Laurenti
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da Mauro Laurenti al topic Testo e Glcd Ks108
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Mauro Laurenti
- Moderator
Riduci
Di più
10 Anni 9 Mesi fa - 10 Anni 9 Mesi fa #23
da seastar2262
Risposta da seastar2262 al topic Testo e Glcd Ks108
Ciao Mauro,
purtroppo non riesco a fare funzionare la tua libreria, sicuramente sbaglio qualcosa nelle configurazioni in quanto, compila, ma quando metto il file .HEX nel micro non si accende nemmeno la back-light
ho letto il tuo tutorial (molto ben fatto, complimenti)sugll 'IDE e compilatore...
ho messo tutti i file dell'esempio più il config 18f4550 in una unica cartella
ho cambiato le definizioni nel GLCD_KS0108B.h adattando le porte alle mie connessioni
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Progetti/test_GLCD/Laurtec'
make -f nbproject/Makefile-default.mk dist/default/production/Laurtec.production.hex
make[2]: Entering directory `C:/Progetti/test_GLCD/Laurtec'
"C:\Programmi\Microchip\xc8\v1.30\bin\xc8.exe" --pass1 --chip=18F4550 -Q -G --double=32 --float=32 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 -I"C:/Progetti/test_GLCD/Laurtec" --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,+plib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto:auto "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -obuild/default/production/main.p1 main.c
"C:\Programmi\Microchip\xc8\v1.30\bin\xc8.exe" --chip=18F4550 -G -mdist/default/production/Laurtec.production.map --double=32 --float=32 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 -I"C:/Progetti/test_GLCD/Laurtec" --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,+plib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto:auto "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -odist/default/production/Laurtec.production.elf build/default/production/main.p1
Microchip MPLAB XC8 C Compiler (Free Mode) V1.30
Copyright (C) 2014 Microchip Technology Inc.
License type: Node Configuration
:: advisory: (1233) Employing 18F4550 errata work-arounds:
:: advisory: (1234) * Corrupted fast interrupt shadow registers
:: warning: (1273) Omniscient Code Generation not available in Free mode
Memory Summary:
Program space used 1033h ( 4147) of 8000h bytes ( 12.7%)
Data space used 3Dh ( 61) of 800h bytes ( 3.0%)
Configuration bits used 7h ( 7) of 7h words (100.0%)
EEPROM space used 0h ( 0) of 100h bytes ( 0.0%)
ID Location space used 8h ( of 8h bytes (100.0%)
Data stack space used 0h ( 0) of 7A0h bytes ( 0.0%)
Running this compiler in PRO mode, with Omniscient Code Generation enabled,
often produces code which is 60% smaller and at least 400% faster than in
Free mode. The MPLAB XC8 PRO compiler output for this code could be
2477 bytes smaller and run 4 times faster.
See www.microchip.com for more information.
make[2]: Leaving directory `C:/Progetti/test_GLCD/Laurtec'
make[1]: Leaving directory `C:/Progetti/test_GLCD/Laurtec'
BUILD SUCCESSFUL (total time: 6s)
Loading code from C:/Progetti/test_GLCD/Laurtec/dist/default/production/Laurtec.production.hex...
Loading symbols from C:/Progetti/test_GLCD/Laurtec/dist/default/production/Laurtec.production.elf...
Loading completed
Help Me
Saluti
Massimo
purtroppo non riesco a fare funzionare la tua libreria, sicuramente sbaglio qualcosa nelle configurazioni in quanto, compila, ma quando metto il file .HEX nel micro non si accende nemmeno la back-light
ho letto il tuo tutorial (molto ben fatto, complimenti)sugll 'IDE e compilatore...
ho messo tutti i file dell'esempio più il config 18f4550 in una unica cartella
ho cambiato le definizioni nel GLCD_KS0108B.h adattando le porte alle mie connessioni
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Progetti/test_GLCD/Laurtec'
make -f nbproject/Makefile-default.mk dist/default/production/Laurtec.production.hex
make[2]: Entering directory `C:/Progetti/test_GLCD/Laurtec'
"C:\Programmi\Microchip\xc8\v1.30\bin\xc8.exe" --pass1 --chip=18F4550 -Q -G --double=32 --float=32 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 -I"C:/Progetti/test_GLCD/Laurtec" --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,+plib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto:auto "--errformat=%%f:%%l: error: (%%n) %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -obuild/default/production/main.p1 main.c
"C:\Programmi\Microchip\xc8\v1.30\bin\xc8.exe" --chip=18F4550 -G -mdist/default/production/Laurtec.production.map --double=32 --float=32 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 -I"C:/Progetti/test_GLCD/Laurtec" --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,+plib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto:auto "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: (%%n) %%s" "--msgformat=%%f:%%l: advisory: (%%n) %%s" -odist/default/production/Laurtec.production.elf build/default/production/main.p1
Microchip MPLAB XC8 C Compiler (Free Mode) V1.30
Copyright (C) 2014 Microchip Technology Inc.
License type: Node Configuration
:: advisory: (1233) Employing 18F4550 errata work-arounds:
:: advisory: (1234) * Corrupted fast interrupt shadow registers
:: warning: (1273) Omniscient Code Generation not available in Free mode
Memory Summary:
Program space used 1033h ( 4147) of 8000h bytes ( 12.7%)
Data space used 3Dh ( 61) of 800h bytes ( 3.0%)
Configuration bits used 7h ( 7) of 7h words (100.0%)
EEPROM space used 0h ( 0) of 100h bytes ( 0.0%)
ID Location space used 8h ( of 8h bytes (100.0%)
Data stack space used 0h ( 0) of 7A0h bytes ( 0.0%)
Running this compiler in PRO mode, with Omniscient Code Generation enabled,
often produces code which is 60% smaller and at least 400% faster than in
Free mode. The MPLAB XC8 PRO compiler output for this code could be
2477 bytes smaller and run 4 times faster.
See www.microchip.com for more information.
make[2]: Leaving directory `C:/Progetti/test_GLCD/Laurtec'
make[1]: Leaving directory `C:/Progetti/test_GLCD/Laurtec'
BUILD SUCCESSFUL (total time: 6s)
Loading code from C:/Progetti/test_GLCD/Laurtec/dist/default/production/Laurtec.production.hex...
Loading symbols from C:/Progetti/test_GLCD/Laurtec/dist/default/production/Laurtec.production.elf...
Loading completed
Help Me
Saluti
Massimo
Ultima Modifica 10 Anni 9 Mesi fa da seastar2262. Motivo: correzione errori testo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- seastar2262
- Autore della discussione
- Visitatori
10 Anni 9 Mesi fa #24
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Testo e Glcd Ks108
Ciao,
potresti inviare:
il codice di esempio che hai usato
I cambiamenti che hai fatto nell´header file
Il collegamento reale tra PIC e GLCD
Saluti,
Mauro
potresti inviare:
il codice di esempio che hai usato
I cambiamenti che hai fatto nell´header file
Il collegamento reale tra PIC e GLCD
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
10 Anni 9 Mesi fa #25
da seastar2262
Risposta da seastar2262 al topic Testo e Glcd Ks108
Ciao,
ecco di seguito le connessioni usate in MikroC
/*
sbit BACK_LIGHT at PORTC.B0;
char GLCD_DataPort at LATD;
sbit GLCD_CS1 at RE0_bit;
sbit GLCD_CS2 at RE1_bit;
sbit GLCD_RST at RE2_bit;
sbit GLCD_RW at RB2_bit;
sbit GLCD_RS at RB3_bit;
sbit GLCD_EN at RB4_bit;
sbit GLCD_CS1_Direction at TRISE0_bit;
sbit GLCD_CS2_Direction at TRISE1_bit;
sbit GLCD_RST_Direction at TRISE2_bit;
sbit GLCD_RW_Direction at TRISB2_bit;
sbit GLCD_RS_Direction at TRISB3_bit; // D_I
sbit GLCD_EN_Direction at TRISB4_bit;
*/
#define GLCD_DATA_WRITE LATD
#define GLCD_DATA_READ PORTD
#define GLCD_DATA_DIRECTION TRISD
#define GLCD_D_I LATBbits.LATB3
#define GLCD_R_W LATBbits.LATB2
#define GLCD_E LATBbits.LATB4
#define GLCD_CS1 LATEbits.LATE0
#define GLCD_CS2 LATEbits.LATE1
#define GLCD_RST LATEbits.LATE2
#define GLCD_LED LATCbits.LATC0
il codice di esempio che ho usato
#include <p18f4550.h>
#include "GLCD_KS0108B.c"
#include "delay.c"
#include "PIC18F4550_config.h"
//#pragma config FOSC = HS
//#pragma config WDT = OFF
//#pragma config LVP = OFF
//#pragma config PBADEN = OFF
//OSC = HS Impostato per lavorare ad alta frequenza
//WDT = OFF Disabilito il watchdog timer
//LVP = OFF Disabilito programmazione LVP
//PBADEN = OFF Disabilito gli ingressi analogici
void main (void){
int i = 0;
// Imposto PORTA
LATA = 0x00;
TRISA = 0x07;
// Set Analog Input as I/O
ADCON1 = 0x0F;
// Imposto PORTB
LATB = 0x00;
TRISB = 0x00;
// Imposto PORTC
LATC = 0x01;
TRISC = 0x00;
// Imposto PORTD tutte uscite
LATD = 0x00;
TRISD = 0x00;
// Imposto PORTE RE0, RE1, RE2 Output
LATE = 0x00;
TRISE = 0x00;
initialize_GLCD ();
backlight_GLCD (TURN_ON_LED);
while (1) {
draw_picture_GLCD (logo_1);
draw_window_GLCD ( 0, 0, 127, 63, FILLING_BLACK);
draw_window_GLCD ( 2, 2, 123, 59, FILLING_BLACK);
delay_ms (2000);
clear_GLCD (FILLING_WHITE);
write_message_GLCD (25,28,"Loading... %");
for (i = 0; i < 100 ; i+= 5) {
write_integer_GLCD (90,28, i, 2);
delay_ms (100);
}
clear_GLCD (FILLING_WHITE);
write_message_GLCD (47,28,"BOOM...");
delay_ms (300);
backlight_GLCD (TURN_OFF_LED);
delay_ms (300);
backlight_GLCD (TURN_ON_LED);
delay_ms (2000);
}
}
Aggiungo che io ho il clock a 10 Mhz devo sostituire il quarzo??
ecco di seguito le connessioni usate in MikroC
/*
sbit BACK_LIGHT at PORTC.B0;
char GLCD_DataPort at LATD;
sbit GLCD_CS1 at RE0_bit;
sbit GLCD_CS2 at RE1_bit;
sbit GLCD_RST at RE2_bit;
sbit GLCD_RW at RB2_bit;
sbit GLCD_RS at RB3_bit;
sbit GLCD_EN at RB4_bit;
sbit GLCD_CS1_Direction at TRISE0_bit;
sbit GLCD_CS2_Direction at TRISE1_bit;
sbit GLCD_RST_Direction at TRISE2_bit;
sbit GLCD_RW_Direction at TRISB2_bit;
sbit GLCD_RS_Direction at TRISB3_bit; // D_I
sbit GLCD_EN_Direction at TRISB4_bit;
*/
#define GLCD_DATA_WRITE LATD
#define GLCD_DATA_READ PORTD
#define GLCD_DATA_DIRECTION TRISD
#define GLCD_D_I LATBbits.LATB3
#define GLCD_R_W LATBbits.LATB2
#define GLCD_E LATBbits.LATB4
#define GLCD_CS1 LATEbits.LATE0
#define GLCD_CS2 LATEbits.LATE1
#define GLCD_RST LATEbits.LATE2
#define GLCD_LED LATCbits.LATC0
il codice di esempio che ho usato
#include <p18f4550.h>
#include "GLCD_KS0108B.c"
#include "delay.c"
#include "PIC18F4550_config.h"
//#pragma config FOSC = HS
//#pragma config WDT = OFF
//#pragma config LVP = OFF
//#pragma config PBADEN = OFF
//OSC = HS Impostato per lavorare ad alta frequenza
//WDT = OFF Disabilito il watchdog timer
//LVP = OFF Disabilito programmazione LVP
//PBADEN = OFF Disabilito gli ingressi analogici
void main (void){
int i = 0;
// Imposto PORTA
LATA = 0x00;
TRISA = 0x07;
// Set Analog Input as I/O
ADCON1 = 0x0F;
// Imposto PORTB
LATB = 0x00;
TRISB = 0x00;
// Imposto PORTC
LATC = 0x01;
TRISC = 0x00;
// Imposto PORTD tutte uscite
LATD = 0x00;
TRISD = 0x00;
// Imposto PORTE RE0, RE1, RE2 Output
LATE = 0x00;
TRISE = 0x00;
initialize_GLCD ();
backlight_GLCD (TURN_ON_LED);
while (1) {
draw_picture_GLCD (logo_1);
draw_window_GLCD ( 0, 0, 127, 63, FILLING_BLACK);
draw_window_GLCD ( 2, 2, 123, 59, FILLING_BLACK);
delay_ms (2000);
clear_GLCD (FILLING_WHITE);
write_message_GLCD (25,28,"Loading... %");
for (i = 0; i < 100 ; i+= 5) {
write_integer_GLCD (90,28, i, 2);
delay_ms (100);
}
clear_GLCD (FILLING_WHITE);
write_message_GLCD (47,28,"BOOM...");
delay_ms (300);
backlight_GLCD (TURN_OFF_LED);
delay_ms (300);
backlight_GLCD (TURN_ON_LED);
delay_ms (2000);
}
}
Aggiungo che io ho il clock a 10 Mhz devo sostituire il quarzo??
Si prega Accedi o Crea un account a partecipare alla conversazione.
- seastar2262
- Autore della discussione
- Visitatori
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Login
© LaurTec 2006 - 2024