G
ggniy
Guest
Hi ppl!
za part 1, ovaj broj je za čitanje tipkovnicu i lika na ekranu je hyperterminal ako im ne krivo
za
2. dio, poslati znak svake 3 sekunde za RS232, samo da pokazuju da MicroBlaze je još uvijek živ i working.but ja dont noe Zašto postoji potreba da se to provjeriti MicroBlaze.
može bilo tko pomoć mene analizirati što radi svaka od kôd učiniti? im koristeći XPS generirati ove kodove.
Puno hvala!
************************************************** ******************
1)
poniłtava RS232IntHandler (void * baseaddr_p)
(
pougljiti c;
/ * Dok primate UART FIFO ima podatke * /
dok je (! XUartLite_mIsReceiveEmpty (XPAR_RS232_BASEADDR))
(
/ / * Čitaj znak * /
c = XUartLite_RecvByte (XPAR_RS232_BASEADDR);
if (c == 13) / / tako da je '\ n'
NextLine ();
else if (c <= 'z' & & c> = '')
(
XUartLite_SendByte (XPAR_RS232_BASEADDR, c);
PrintScr ((Xuint8), c);
)
else / / Ako je kontrolnog karaktera, jednostavno resetira ekran
ResetScreen ();
)
)
************************************************** ******************
2.
int glavna (void) (
isparljiv Xuint32 J;
/ * Omogući MicroBlaze prekine * /
microblaze_enable_interrupts ();
/ * Registracija UART prekinuti rukovatelj * /
XIntc_RegisterHandler (XPAR_OPB_INTC_0_BASEADDR,
XPAR_OPB_INTC_0_RS232_INTERRUPT_INTR,
(XInterruptHandler) RS232IntHandler, (void *) XPAR_RS232_BASEADDR);
/ * Pokrenite prekinuti kontroler * /
XIntc_mMasterEnable (XPAR_OPB_INTC_0_BASEADDR);
/ * Omogući brojač i uart prekine u prekidati kontroler * /
XIntc_mEnableIntr (XPAR_OPB_INTC_0_BASEADDR,
XPAR_RS232_INTERRUPT_MASK);
/ * Omogući uart prekine * /
XUartLite_mEnableIntr (XPAR_RS232_BASEADDR);
//------------------------------------------------
/ / Sljedeće petlje je poslati karakter svake 3 sekunde
/ / To RS232, samo da pokazuju da MicroBlaze je još uvijek živ i radi.
a (1) (
for (j = 0; j <10000000; j );
print ( "T");
)
return 0;
)
************************************************** ******************
za part 1, ovaj broj je za čitanje tipkovnicu i lika na ekranu je hyperterminal ako im ne krivo
za
2. dio, poslati znak svake 3 sekunde za RS232, samo da pokazuju da MicroBlaze je još uvijek živ i working.but ja dont noe Zašto postoji potreba da se to provjeriti MicroBlaze.
može bilo tko pomoć mene analizirati što radi svaka od kôd učiniti? im koristeći XPS generirati ove kodove.
Puno hvala!
************************************************** ******************
1)
poniłtava RS232IntHandler (void * baseaddr_p)
(
pougljiti c;
/ * Dok primate UART FIFO ima podatke * /
dok je (! XUartLite_mIsReceiveEmpty (XPAR_RS232_BASEADDR))
(
/ / * Čitaj znak * /
c = XUartLite_RecvByte (XPAR_RS232_BASEADDR);
if (c == 13) / / tako da je '\ n'
NextLine ();
else if (c <= 'z' & & c> = '')
(
XUartLite_SendByte (XPAR_RS232_BASEADDR, c);
PrintScr ((Xuint8), c);
)
else / / Ako je kontrolnog karaktera, jednostavno resetira ekran
ResetScreen ();
)
)
************************************************** ******************
2.
int glavna (void) (
isparljiv Xuint32 J;
/ * Omogući MicroBlaze prekine * /
microblaze_enable_interrupts ();
/ * Registracija UART prekinuti rukovatelj * /
XIntc_RegisterHandler (XPAR_OPB_INTC_0_BASEADDR,
XPAR_OPB_INTC_0_RS232_INTERRUPT_INTR,
(XInterruptHandler) RS232IntHandler, (void *) XPAR_RS232_BASEADDR);
/ * Pokrenite prekinuti kontroler * /
XIntc_mMasterEnable (XPAR_OPB_INTC_0_BASEADDR);
/ * Omogući brojač i uart prekine u prekidati kontroler * /
XIntc_mEnableIntr (XPAR_OPB_INTC_0_BASEADDR,
XPAR_RS232_INTERRUPT_MASK);
/ * Omogući uart prekine * /
XUartLite_mEnableIntr (XPAR_RS232_BASEADDR);
//------------------------------------------------
/ / Sljedeće petlje je poslati karakter svake 3 sekunde
/ / To RS232, samo da pokazuju da MicroBlaze je još uvijek živ i radi.
a (1) (
for (j = 0; j <10000000; j );
print ( "T");
)
return 0;
)
************************************************** ******************