?? class.h
字號:
/*--------------------------------------------------------------------------
ARM菜鳥HotPower 2006.5.31與西安大雁塔菜地
http://blog.21ic.com/blog.asp?name=hotpower
HotPower@126.com
--------------------------------------------------------------------------*/
class SystemObj;//系統類
class UartObj;//系統串口類
class KeyObj;//系統類
class LcdObj;//系統顯示菜單類
class RtcObj;//系統實時鐘類
class nRFObj;//系統無線類
class SystemObj {//系統類
public:
SystemObj(void);
public:
void SystemInit(void);
void PortInit(void);
void VicInit(void);
void BeepInit(void);
void WdtInit(void);
public:
volatile unsigned int SystemRamTest;//RAM掉電測試變量
private:
unsigned char BeepTimeCount;
unsigned char BeepCount;
unsigned char BeepMode;
unsigned char BeepValue;
};
class LcdObj {//系統顯示菜單類
public:
LcdObj(void);//LcdObj的構造函數
public:
void LcdPinSetup(void);
void LcdInit(void);
void LcdSend(char);
void LcdSendCommand(char);
void LcdSendData(char);
void SetLcdDisplayPos(unsigned char, unsigned char);
void LcdDisplayBuffer(void);//刷新LCD顯示緩沖區
private:
void LcdClearBuffer(void);
public:
unsigned char LcdRow,LcdCol;
void LcdDisplay(const char *);
void LcdDisplay(unsigned char [], unsigned int);
void LcdDisplay(unsigned int, unsigned char, signed char);
public:
unsigned char LcdTimeCount;
private:
unsigned char LcdRowWriteEnable[4];
unsigned char LcdBuffer[4][16];//4行8個漢字16個字符
};
class KeyObj {
public:
KeyObj(void);
void Exec(void);//每2.5mS中斷調用一次, KeyCount會自動+1
public:
volatile signed int KeyTest[10];//2.5mS壓鍵計數器
private:
unsigned char KeyCount;//鍵盤計數器
unsigned int KeyBuffer;//鍵盤緩沖區
private:
void KeyInit(void);
public:
void KeyCommandExec(unsigned char);
unsigned char GetKeyVal(void);
static void Key00(void);
static void Key01(void);
static void Key02(void);
static void Key03(void);
static void Key04(void);
static void Key05(void);
static void Key06(void);
static void Key07(void);
static void Key08(void);
static void Key09(void);
static void Key10(void);
static void Key11(void);
static void Key12(void);
static void Key13(void);
static void Key14(void);
static void Key15(void);
static void Key16(void);
static void Key17(void);
static void Key18(void);
static void Key19(void);
static void Key20(void);
static void Key21(void);
static void Key22(void);
static void Key23(void);
static void Key24(void);
static void Key25(void);
static void Key26(void);
static void Key27(void);
static void Key28(void);
static void Key29(void);
};//鍵盤模塊
class UartObj {//系統串口類
public:
UartObj(void);
void UartInit(void);
void putchar(unsigned char);
void putstr(const char []);
void puts(const char []);
void puthex(unsigned char);
void puthex(unsigned short);
void puthex(signed short);
void BinToHex(unsigned char, char []);
void BinToHex(unsigned short, char []);
void BinToHex(signed short, char []);
public:
void Exec(void);
void LoadDataBuff(void);
public:
volatile unsigned char Status;
volatile unsigned char RxBuffer[256], TxBuffer[256];
volatile unsigned char RxCount, TxCount;
volatile unsigned char RxdCount, TxdCount;
bool TxBusy;
};
class RtcObj{//實時種類
public:
RtcObj(void);//RtcObj的構造函數
private:
void RtcInit(void);
public:
unsigned int GetDow(unsigned int, unsigned int, unsigned int);
unsigned int GetDom(unsigned int, unsigned int);
public:
unsigned int Year, Month, Dom, Dow;
unsigned int Hour, Min, Sec;
unsigned int WorkYear[4][3], WorkMonth[4][3], WorkDom[4][3];
unsigned int WorkHour[4][3], WorkMin[4][3], WorkSec[4][3];
};
class nRFObj{//系統無線類
public:
nRFObj(void);//nRFObj的構造函數
private:
void nRFInit(void);
void SpiInit(void);
unsigned char SpiReadWrite(unsigned char);
unsigned char ReadStatus(void);
void WritenRFConfig(unsigned int);//配置nRF905
public:
void SetRxMode(void);//設置接收模式
void SetTxMode(void);//設置發送模式
void StartTx(void);
void nRFReadBuffers(void);//收發無線讀寫模塊
void nRFWriteBuffers(void);//收發無線讀寫模塊
public:
unsigned char nRFRxBuff[32], nRFTxBuff[32];
unsigned char nRFRxCount, nRFTxCount;
};
__noinit__ SystemObj Sys;//整個類成員變量不初始化為0,注意單個不行
__noinit__ LcdObj Lcd;//系統顯示菜單類
__noinit__ nRFObj nRF;//系統無線類
__noinit__ RtcObj Rtc;//系統實時鐘類
__noinit__ KeyObj Key;//
__noinit__ UartObj Uart;//系統串口類
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -