📄 fip.h
字号:
#ifndef __FIP_H__#define __FIP_H__#define FIP_TIMER_LOAD_VALUE 0xFFFF #define FIP_TIMER_PRESCALE 0x5#define FIP_KEY_REPEAT 4void fip_init(void);void fip_wait_ready(void);void fip_receive_scancode(unsigned long sc);unsigned long (*fip_poll)(void);/* Function called by the timer interrupt*//* return 1 if scancode has been pushed in FIFO */int fip_timer(void);#include "fip_private.h"/* Display Macros */#define FIP_DISPLAY(adr, data) \do { \ FIP_LOCK() \ fip_wait_ready(); \ *(FIP_DISPLAY_DATA_REG) = data; \ *(FIP_COMMAND_REG) = FIP_CMD_ADR_SETTING | (adr); \ FIP_UNLOCK() \} while(0)#define FIP_DIMMER(val) \do { \ FIP_LOCK(); \ fip_wait_ready(); \ *FIP_COMMAND_REG = FIP_CMD_DISP_CTRL_TURN_DISPLAY_ON | (val&0xF); \ FIP_UNLOCK(); \} while(0)#define FIP_LED(led, on) \do { \ FIP_LOCK(); \ fip_wait_ready(); \ if(on) \ *(FIP_LED_DATA_REG) |= (1 << (led -1)); \ else \ *(FIP_LED_DATA_REG) &= ~(1 << (led -1)); \ *(FIP_COMMAND_REG) = FIP_CMD_DATA_SET_RW_MODE_WRITE_LED_PORT; \ FIP_UNLOCK(); \} while(0)/* scancode macros */unsigned long fip_read_scancode(unsigned long timeout);#define FIP_READKEY(timeout) fip_read_scancode(timeout)//Scancode FIFO#define FIP_FIFO_SIZE 2extern unsigned int fip_fifo[FIP_FIFO_SIZE];extern unsigned int fip_fifo_first, fip_fifo_last;#define FIP_FIFO_COUNT ((fip_fifo_last - fip_fifo_first)%FIP_FIFO_SIZE)#define FIP_FIFO_EMPTY() (FIP_FIFO_COUNT==0)#define FIP_FIFO_FULL() (FIP_FIFO_COUNT==(FIP_FIFO_SIZE-1))#define FIP_FIFO_IN(c) \do { \ fip_fifo[fip_fifo_last]=c; \ fip_fifo_last=(fip_fifo_last+1)%FIP_FIFO_SIZE; \ if(fip_fifo_last==fip_fifo_first) \ fip_fifo_first=(fip_fifo_first+1)%FIP_FIFO_SIZE; \} while(0);#define FIP_FIFO_OUT(pc) \do { \ *(pc)=fip_fifo[fip_fifo_first]; \ fip_fifo_first=(fip_fifo_first+1)%FIP_FIFO_SIZE; \} while(0);#define FIP_FIFO_FLUSH() \do { \ fip_fifo_last=fip_fifo_first; \} while(0);#endif /* __FIP_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -