📄 ui.c
字号:
/*
DM270 ARM Evaluation Software
(c)Texas Instruments 2003
*/
#include <system/uart270.h>
#include <user/intc.h>
#include <user/ui.h>
#include <user/fifo.h>
FIFO InputFifo0;
FIFO InputFifo1;
char UART_outBuff[1024];
char UART_inBuff[64];
#define RECV_DATA_VALID (1<<12)
volatile unsigned short UART0IntFlag = 1;
volatile unsigned short UART1IntFlag = 1;
unsigned char Ctrl_FIFO1 = 0; // Init 1, read key 2,
void SWITCH_TEST1(void);
void UART_isr0() {
Uint16 recv0 = UART0_RGET( DTRR0 );
if(recv0 & RECV_DATA_VALID ) {
FIFO_put( &InputFifo0, (Uint8)recv0);
}
UART0IntFlag = 0;
}
void UART_isr1() {
Uint16 recv1 = UART1_RGET( DTRR1 );
if(recv1 & RECV_DATA_VALID ) {
if((Ctrl_FIFO1 == 1) || (Ctrl_FIFO1 == 2)) {
FIFO_put( &InputFifo1, (Uint8)recv1);
if(Ctrl_FIFO1 == 2)
SWITCH_TEST1();
}
}
UART1IntFlag = 0;
}
void SWITCH_TEST1(void) {
char ch;
while(FIFO_get(&InputFifo1, &ch) != E_PASS)
;
sprintf( UART_outBuff, "\r\n 0x%x", ch );
UART_sendString( UART0, UART_outBuff );
UART_sendString( UART0, "\r\n " );
}
STATUS UI_init() {
{
UART_ModeData uartMode0;
INTC_enable( INT_UART0, FALSE);
FIFO_init(&InputFifo0);
uartMode0.rxFifoSize = 0; // 1 byte
uartMode0.txFifoSize = 0; // 1 byte
uartMode0.rxFifoIntEnable = TRUE;
uartMode0.txFifoIntEnable = FALSE;
uartMode0.rxErrorIntEnable= FALSE;
uartMode0.timeoutIntEnable= FALSE;
UART_setMode( UART0, &uartMode0);
INTCAttachISR( INT_UART0, UART_isr0 );
INTC_enable( INT_UART0, TRUE);
}
{
UART_ModeData uartMode1;
INTC_enable( INT_UART1, FALSE);
FIFO_init(&InputFifo1);
uartMode1.rxFifoSize = 0; // 1 byte
uartMode1.txFifoSize = 0; // 1 byte
uartMode1.rxFifoIntEnable = TRUE;
uartMode1.txFifoIntEnable = FALSE;
uartMode1.rxErrorIntEnable= FALSE;
uartMode1.timeoutIntEnable= FALSE;
UART_setMode( UART1, &uartMode1);
INTCAttachISR( INT_UART1, UART_isr1 );
INTC_enable( INT_UART1, TRUE);
}
return E_PASS;
}
char UI_getInput() {
char ch;
INTC_enable( INT_UART1, FALSE);
FIFO_clear(&InputFifo1);
INTC_enable( INT_UART1, TRUE);
while(FIFO_get(&InputFifo1, &ch) != E_PASS)
;
UART1IntFlag = 1;
return ch;
}
char UI_checkInput() {
char ch;
if( FIFO_get( &InputFifo1, &ch) != E_PASS )
return 0;
UART0IntFlag = 1;
return ch;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -