?? lowlevel.h
字號:
/******************************************************************************
* 頭文件名: lowlevel.h *
******************************************************************************/
# ifndef __LOWLEVEL_H__
# define __LOWLEVEL_H__
# include "mcubas.h"
# define _nop_() {_asm NOP;}
/* 時間觸發宏定義 */
# define CMSysClock 19660800L // 系統時鐘:19.6608MHz
# define CMModTic0 16 // 19200Hz
# define CMModTic1 12 // 1200Hz
# define CMModTic2 10 // 10ms
# define CMModTic3 10 // 100ms
# define CMModSec 60 // 1s
# define CMModMin 60 // 1min
# define CMModHour 24 // 1hour
/* 聲明時間觸發全局變量 */
extern unsigned char cgwrkTic0, cgwrkTic1, cgwrkTic2, cgwrkTic3;
extern unsigned char cgwrkSec, cgwrkMin, cgwrkHour;
extern unsigned char cgflgTic0, cgflgTic1, cgflgTic2, cgflgTic3;
extern unsigned char cgflgSec, cgflgMin, cgflgHour;
extern unsigned char cgflgHSec;
/* 串口通信宏定義 */
# define CMUART0TxBufLenMax 64
# define CMUART0RxBufLenMax 64
# define CMUART1TxBufLenMax 64
# define CMUART1RxBufLenMax 64
# define CMUART2TxBufLenMax 16
# define CMUART2RxBufLenMax 16
/* 聲明串口通信全局變量:UART0 */
extern unsigned char cUART0TxBuf[CMUART0TxBufLenMax];
extern unsigned char cUART0RxBuf[CMUART0RxBufLenMax];
extern unsigned char cUART0TxHead, cUART0TxEnd;
extern unsigned char cUART0RxHead, cUART0RxEnd;
/* 聲明串口通信全局變量:UART1 */
extern unsigned char cUART1TxBuf[CMUART1TxBufLenMax];
extern unsigned char cUART1RxBuf[CMUART1RxBufLenMax];
extern unsigned char cUART1TxHead, cUART1TxEnd;
extern unsigned char cUART1RxHead, cUART1RxEnd;
/* 聲明串口通信全局變量:UART2(模擬串口) */
extern unsigned char cUART2TxBuf[CMUART2TxBufLenMax];
extern unsigned char cUART2RxBuf[CMUART2RxBufLenMax];
extern unsigned char cUART2TxHead, cUART2TxEnd;
extern unsigned char cUART2RxHead, cUART2RxEnd;
/* 通信波特率宏定義 */
# define BPSUART0 9600
# define BPSUART1 9600
# define BPSUART2 2400
# define BPSUART0L ((unsigned long)BPSUART0)
# define BPSUART1L ((unsigned long)BPSUART1)
# define BPSUART2L ((unsigned long)BPSUART2)
/* 聲明A/D轉換全局變量 */
extern unsigned short sATDDat[16];
extern unsigned short *sATD0Dat;
extern unsigned short *sATD1Dat;
extern unsigned char cATDDatAvail;
/* EEPROM操作宏定義 */
# define EEPROMCmdProgram 0x20
# define EEPROMCmdEraseSect 0x40
# define EEPROMCmdEraseMass 0x41
# define EEPROMCmdEraseVerify 0x05
# define EEPROMAddrStart 0x2000
/* EEPROM存儲數據類型定義 */
typedef union {
unsigned long longint;
unsigned short shortint[2];
unsigned char byte[4];
} EEPROMDataUnion;
/* 位權聲明 */
extern const unsigned char cBitInd[8];
/* 子函數聲明 */
void UART0Send (void *buf, int len);
int UART0GetRx (void *buf, int len);
void UART0Echo (void);
void UART1Send (void *buf, int len);
int UART1GetRx (void *buf, int len);
void UART1Echo (void);
void UART2Send (void *buf, int len);
int UART2GetRx (void *buf, int len);
void UART2Echo (void);
void ATDSamplStart (void);
char EEPROMReadyCheck (void);
void EEPROMWaitForCmdEmpty (void);
void EEPROMWaitForCmdComplete (void);
void EEPROMEraseSectData (void *addr, int data);
void EEPROMEraseSect (void *addr);
long EEPROMRead4BAligned (void *addr);
void EEPROMWrite4BAligned (void *addr, long data);
void EEPROMEraseWrite4BAligned(void *addr, long data);
int EEPROMRead2BAligned (void *addr);
void EEPROMWrite2BAligned (void *addr, int data);
void EEPROMEraseWrite2BAligned(void *addr, int data);
void EEPROMEraseWrite1B (void *addr, char data);
void __memmovebuf (void *p, int m, int len);
void InitLowLevel (void);
# endif // __LOWLEVEL_H__
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -