O
ooicheesan
Guest
Trenutno delam serijske komunikacije med moje VB na comm 1 in 2 PICDEM BOARD .. ne samo jaz sprašujem, zakaj jaz vekanje spodbuda moje podatke prižigati LCD na moji ladji? Pomočjo MPLAB ICD2? Here i predložiti na trske efor vi imeti pogledati, ali sem dobil zamudite kaj ali ne? hvala ...
# include <p18f452.h>
# include <xlcd.h>
# include <delays.h>
# include <usart.h>char podatkov [2];
void Initialise_Serial_Port_Pin (void)
(
/ / Serial TX & Rx zatiči konfiguracijo.
/ / TX - pristanišče C pin 6
TRISCbits.TRISC6 = 0;
/ / Rx - pristanišče C pin 7
TRISCbits.TRISC7 = 1;
)
void Process_Information (void)
(
stikalo (Data [0]) (
primeru "":
PORTA = Data [1];
break;
primeru "B":
PORTB = Data [1];
break;
primer 'C':
PORTC = Data [1];
break;
default:
putrsUSART ( "Napaka!");
return;
);
putrsUSART ( "Ok");
)
char getcharusart ()
(
while (! PIR1bits.RCIF)
nadaljuje;
PIR1bits.RCIF = 0;
vrnitev RCREG;
)
void DelayFor18TCY (void)
(
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
)
void DelayPORXLCD (void)
(
Delay1KTCYx (60) / / Delay of 15ms
return;
)
void DelayXLCD (void)
(
Delay1KTCYx (20) / / Delay of 5ms
return;
)
void main ()
(
unsigned char count = 0;
char temp;/ / Serial TX & Rx zatiči konfiguracijo.
Initialise_Serial_Port_Pin ();/ / Configure zunanji LCD
OpenXLCD (EIGHT_BIT & LINES_5X7);/ / Configure USART
OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_OFF & / / USART konfiguracija
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH, 25);while (1)
(
temp = getcharusart ();
Data [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 podatkov [2];
void Initialise_Serial_Port_Pin (void)
(
/ / Serial TX & Rx zatiči konfiguracijo.
/ / TX - pristanišče C pin 6
TRISCbits.TRISC6 = 0;
/ / Rx - pristanišče C pin 7
TRISCbits.TRISC7 = 1;
)
void Process_Information (void)
(
stikalo (Data [0]) (
primeru "":
PORTA = Data [1];
break;
primeru "B":
PORTB = Data [1];
break;
primer 'C':
PORTC = Data [1];
break;
default:
putrsUSART ( "Napaka!");
return;
);
putrsUSART ( "Ok");
)
char getcharusart ()
(
while (! PIR1bits.RCIF)
nadaljuje;
PIR1bits.RCIF = 0;
vrnitev RCREG;
)
void DelayFor18TCY (void)
(
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
Nov ();
)
void DelayPORXLCD (void)
(
Delay1KTCYx (60) / / Delay of 15ms
return;
)
void DelayXLCD (void)
(
Delay1KTCYx (20) / / Delay of 5ms
return;
)
void main ()
(
unsigned char count = 0;
char temp;/ / Serial TX & Rx zatiči konfiguracijo.
Initialise_Serial_Port_Pin ();/ / Configure zunanji LCD
OpenXLCD (EIGHT_BIT & LINES_5X7);/ / Configure USART
OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_OFF & / / USART konfiguracija
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH, 25);while (1)
(
temp = getcharusart ();
Data [count ] = temp;
if (count == 2)
(
Process_Information ();
putsXLCD (temp);
count = 0;
)
)(
CloseUSART ();
)
)