#ifndef UART_H #define UART_H void uart_init(unsigned int pclk2, unsigned int bound); void uart_sendData(unsigned char data); void uart_showData(short k); unsigned char uart_Float2Char(float value); void uart_sendStr(char * cmd); void USART1_IRQHandler(void); void uart_decode(); #define UART_CR() do {\ uart_sendData(0x0D);\ uart_sendData(0x0A);\ } while(0) #define UART_CLEAR() uart_sendStr("\033[H\033[J") #define CMD_MAX_LENGTH 32 #define pop gCmdCache[top--] #define push(s) gCmdCache[++top] = s #define clrCache() {\ while (top > -1) {\ pop = '\0';\ }\ } #define STACK_OVERFLOW (top == CMD_MAX_LENGTH - 1) // decode #define TOKEN_SEND 'S' #define TOKEN_LEARN 'L' #define CMD_NUM_MAX '8' #define CMD_NUM_MIN '1' #define ISLEGAL_NUM(k) (((k) >= CMD_NUM_MIN) && ((k) <= CMD_NUM_MAX)) #endif