O
ooicheesan
Guest
Attualmente sto facendo la comunicazione seriale tra il mio VB comm a 1 e la PICDEM 2 PENSIONE .. mi chiedo il motivo per cui i cant inviare i miei dati per illuminare il display LCD a mio bordo? Utilizzando il MPLAB ICD2? Qui i presentare il merluzzo efor di avere uno sguardo se i got perdere qualcosa o no? grazie ...
# include <p18f452.h>
# include <xlcd.h>
# include <delays.h>
# include <usart.h>char dati [2];
Initialise_Serial_Port_Pin nullo (void)
(
/ / Di serie TX
e Rx configurazione pin.
/ / TX - porto C 6 pin
TRISCbits.TRISC6 = 0;
/ / Rx - porto C 7 pin
TRISCbits.TRISC7 = 1;
)
PROCESS_INFORMATION nullo (void)
(
switch (dati [0]) (
case 'A':
PORTA = dati [1];
break;
case 'B':
PORTB = dati [1];
break;
case 'C':
PORTC = Dati [1];
break;
default:
putrsUSART ( "Errore!");
andata e ritorno;
);
putrsUSART ( "Ok");
)
char getcharusart ()
(
while (! PIR1bits.RCIF)
continuare;
PIR1bits.RCIF = 0;
RCREG andata e ritorno;
)
DelayFor18TCY nullo (void)
(
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
)
DelayPORXLCD nullo (void)
(
Delay1KTCYx (60); / / Ritardo di 15ms
andata e ritorno;
)
DelayXLCD nullo (void)
(
Delay1KTCYx (20); / / Ritardo di 5 ms
andata e ritorno;
)
void main ()
(
unsigned char count = 0;
char temp;/ / Di serie TX
e Rx configurazione pin.
Initialise_Serial_Port_Pin ();/ / Configure esterno LCD
OpenXLCD (EIGHT_BIT & LINES_5X7);/ / Configure USART
OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_OFF & / / USART configurazione
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH, 25);while (1)
(
temp = getcharusart ();
Dati [count ] = temp;
if (count == 2)
(
PROCESS_INFORMATION ();
putsXLCD (temp);
count = 0;
)
)(
CloseUSART ();
)
)
# include <p18f452.h>
# include <xlcd.h>
# include <delays.h>
# include <usart.h>char dati [2];
Initialise_Serial_Port_Pin nullo (void)
(
/ / Di serie TX
e Rx configurazione pin.
/ / TX - porto C 6 pin
TRISCbits.TRISC6 = 0;
/ / Rx - porto C 7 pin
TRISCbits.TRISC7 = 1;
)
PROCESS_INFORMATION nullo (void)
(
switch (dati [0]) (
case 'A':
PORTA = dati [1];
break;
case 'B':
PORTB = dati [1];
break;
case 'C':
PORTC = Dati [1];
break;
default:
putrsUSART ( "Errore!");
andata e ritorno;
);
putrsUSART ( "Ok");
)
char getcharusart ()
(
while (! PIR1bits.RCIF)
continuare;
PIR1bits.RCIF = 0;
RCREG andata e ritorno;
)
DelayFor18TCY nullo (void)
(
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
NOP ();
)
DelayPORXLCD nullo (void)
(
Delay1KTCYx (60); / / Ritardo di 15ms
andata e ritorno;
)
DelayXLCD nullo (void)
(
Delay1KTCYx (20); / / Ritardo di 5 ms
andata e ritorno;
)
void main ()
(
unsigned char count = 0;
char temp;/ / Di serie TX
e Rx configurazione pin.
Initialise_Serial_Port_Pin ();/ / Configure esterno LCD
OpenXLCD (EIGHT_BIT & LINES_5X7);/ / Configure USART
OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_OFF & / / USART configurazione
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH, 25);while (1)
(
temp = getcharusart ();
Dati [count ] = temp;
if (count == 2)
(
PROCESS_INFORMATION ();
putsXLCD (temp);
count = 0;
)
)(
CloseUSART ();
)
)