⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lowlevel.h

📁 freescale crc模块驱动 经调试
💻 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 + -