A
Angy
Guest
Jeg arbejder på UART på LPC21xx.
Jeg kom acroos følgende betingelse ", mens (! (U1LSR & 0x20));"
Jeg er ikke i stand til at forstå ovennævnte sløjfe. Hjælp plz
fuldstændige kode er
# define CR 0x0D
# include <LPC21xx.H>
void init_serial (void);
int putchar (int ch);
int getchar (void);unsigned char test;
int main (void)
(
VPBDIV = 0x02; / / Divide Pclk af to
init_serial ();
while (1)
(
putchar (getchar ()); / / Echo terminal
)
)
void init_serial (void) / * Initialize Serial Interface * /
(
PINSEL0 = 0x00050000; / * Enable RxD1 og TxD1 * /
U1LCR = 0x00000083; / * 8 bits, ingen paritet, 1 stop bit * /
U1DLL = 0x000000C2; / * 9600 Baud Rate @ 30MHz vPb Ur * /
U1LCR = 0x00000003; / * DLAB = 0 * /
)int putchar (int ch) / * Skriv karakter til Serial Port * /
(
if (ch == '\ n') (
while (! (U1LSR & 0x20));
U1THR = CR; / * output CR * /
)
while (! (U1LSR & 0x20));
return (U1THR = ch);
)int getchar (void) / * Læs karakter fra Serial Port * /
(
while (! (U1LSR & 0x01));
return (U1RBR);
)
Jeg kom acroos følgende betingelse ", mens (! (U1LSR & 0x20));"
Jeg er ikke i stand til at forstå ovennævnte sløjfe. Hjælp plz
fuldstændige kode er
# define CR 0x0D
# include <LPC21xx.H>
void init_serial (void);
int putchar (int ch);
int getchar (void);unsigned char test;
int main (void)
(
VPBDIV = 0x02; / / Divide Pclk af to
init_serial ();
while (1)
(
putchar (getchar ()); / / Echo terminal
)
)
void init_serial (void) / * Initialize Serial Interface * /
(
PINSEL0 = 0x00050000; / * Enable RxD1 og TxD1 * /
U1LCR = 0x00000083; / * 8 bits, ingen paritet, 1 stop bit * /
U1DLL = 0x000000C2; / * 9600 Baud Rate @ 30MHz vPb Ur * /
U1LCR = 0x00000003; / * DLAB = 0 * /
)int putchar (int ch) / * Skriv karakter til Serial Port * /
(
if (ch == '\ n') (
while (! (U1LSR & 0x20));
U1THR = CR; / * output CR * /
)
while (! (U1LSR & 0x20));
return (U1THR = ch);
)int getchar (void) / * Læs karakter fra Serial Port * /
(
while (! (U1LSR & 0x01));
return (U1RBR);
)