ui.c

来自「dm270 source code」· C语言 代码 · 共 72 行

C
72
字号
/*
    DM270 ARM Evaluation Software

    (c)Texas Instruments 2003
*/

#include <system/uart270.h>
#include <user/intc.h>
#include <demo/ui.h>
#include <util/fifo.h>

FIFO	InputFifo;

char UART_outBuff[1024];
char UART_inBuff[64];

#define RECV_DATA_VALID		(1<<12)

void UART_isr() {
	Uint16 recv = UART0_RGET( DTRR0 );

	if(recv & RECV_DATA_VALID ) {
		FIFO_put( &InputFifo, (Uint8)recv);
	}
}

STATUS UI_init() {
	UART_ModeData uartMode;

	INTC_enable( INT_UART0, FALSE);

	FIFO_init(&InputFifo);

	uartMode.rxFifoSize = 0; // 1 byte
	uartMode.txFifoSize = 0; // 1 byte
	uartMode.rxFifoIntEnable = TRUE;
	uartMode.txFifoIntEnable = FALSE;
	uartMode.rxErrorIntEnable= FALSE;
	uartMode.timeoutIntEnable= FALSE;
	
	UART_setMode( UART0, &uartMode);

	INTCAttachISR( INT_UART0, UART_isr );
	INTC_enable( INT_UART0, TRUE);

	return E_PASS;
}

char UI_getInput() {
	char ch;

	INTC_enable( INT_UART0, FALSE);
	FIFO_clear(&InputFifo);
	INTC_enable( INT_UART0, TRUE);

	while(FIFO_get(&InputFifo, &ch) != E_PASS)
		;

	return ch;
}

char UI_checkInput() {
	char ch;

	if( FIFO_get( &InputFifo, &ch) != E_PASS )
		return 0;
	
	return ch;
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?