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

📄 externdef.h

📁 AT91fr40162的FLASH读写程序
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef Ex_File

   extern unsigned char gcRetCode;                   		// 存放返回码的全局变量
   extern unsigned char gcpCmdHead[3];

// 指纹类全局变量
   extern _BYTE gcpMBBuf[LENOFTZ];						// 最后一次采集的指纹模板

   extern struct StruCDTI CDTI;								// 内存中的CDTI表
   extern struct StruDCB DCBT[LENOFDCBT];					// 内存中的DCBT表
   extern struct StruSPB SPB;								// 内存中的SPB表
   extern struct StruKEYAREA KEY;							// 内存中的KEY表
   extern struct StruCSI CSI;								// 内存中的当前状态信息表
   extern _BYTE DAT[5];										// DAT表
   extern struct StruCLOCK gsClock;								// 存放时钟信息的全局变量

// 显示类
   extern _BYTE gcpVideoBuf[VIDEOPAGE][VIDEOCOL];             // 显示缓冲区
   extern _BYTE gcDispChanged;                                  // 指示显示是否变化的全局变量
   extern _BYTE gcpTmpVideoBuf[2][VIDEOCOL];                  // 暂存显示信息的缓冲区
   extern _BYTE gcBackLightTime;                           // LCD背光持续的时间(S),在每次点亮背光时设置
   extern _BYTE *gcpWellcomIcon;


	// 接收缓冲区
   extern unsigned char gcpRecBuf[RECBUF_LEN];
   extern unsigned char gcpSendBuf[RECBUF_LEN];
   extern AT91PS_USART COM1;
   extern _BYTE gcSecondFresh;                                	// 刷新时钟的秒时使用
   extern _BYTE gcMinterFresh;                                	// 刷新时钟的分钟时使用
   extern _BYTE gcClockFreshFlag;                               // 刷新时钟的标记
   extern _BYTE gcTrainFreshFlag;                               // 刷新训练信息的标记
   extern _BYTE gcTrainFreshMile;                               // 刷新训练里程信息的标记
   extern _BYTE gcTrainFreshTime;                               // 刷新训练时间信息的标记
   extern _BYTE gcTrainFreshSecond;                             // 刷新训练时间(秒)信息的标记
   extern _BYTE gcDecimal;                                    	//
   extern _BYTE gcUpdateCDTI;											// 更新CDTI到FLASH中的标记

   // 保存CPLD寄存器值的结构类型
   //extern struct StruCPLD gsCPLDReg;								
   extern _BYTE gcpCPLDReg[6];
   extern I2Cdesc  I2C_line ;

   // 按键类
   extern _BYTE gcKeyUp;                                     	// 按键是否按下的标记
   extern _BYTE gcKeyDown;
   extern _DWORD gdwKeyNum;                             			// 当前按下按键的键值
   extern _BYTE gcKeyLongPress;                                	// 是否为长按键
   extern _BYTE gcTimeOfKeyPress;                              	// 长按键的时间
   extern _BYTE gcKeyPressA;                                  	// 键按下时间的阀值
   extern _BYTE gcLastKey1;                                    	// 前一按键
   extern _BYTE gcLastKey2;
   extern _BYTE gcLastKey3;
   
   extern _BYTE gCurDriverCount;
   extern _BYTE gcVerifyCount;

   //中断类
   extern _WORD gwPluseMile;                                // 脉冲计数,每5秒中的脉冲计数
   extern _WORD gwRemainedPluse;                            // 脉冲计数,计算时上次剩余的脉冲数
   extern _WORD gwPluseAllow;                               // 脉冲计数,指定时间间隔内的脉冲计数
   extern _BYTE gcSeconds;                                  // 秒数
   extern _BYTE gcValidSeconds;                             // 有效秒数
   extern _WORD gwPluseSetup;                               // 校准用的时钟计数

// 蜂鸣器
   extern _BYTE gcOpenBeep;
   extern _BYTE gcBeepCount;

// LED类
   extern _BYTE gcLEDRedLightTime;
   extern _BYTE gcLEDGreenLightTime;
   extern _BYTE gcOpenLEDGreen;
   extern _BYTE gcOpenLEDRed;

// 定时器0中断使用地全局变量
   extern _BYTE  gcTimer0Flag;								// 递减完成标志
   extern _DWORD gdwTimer0Counter;							// 递减值

   extern unsigned char const gcCRC8DATA[];
   extern _BYTE *gcpFlashBuf;								// 写FLASH时指向暂存FLASH数据的缓冲区指针
   extern _DWORD gdwFlashLen;								// 记录拟写入信息的长度
   extern _DWORD gdwMainFlashLen;								// 记录拟写入信息的长度
   extern _DWORD gdwFlashLibLen;								// 记录拟写入信息的长度
   extern _BYTE *gFontBuf;
   extern _WORD *gCodeHZCodeTable;
   extern _WORD gHZOffsetTable[];                 // RAM中的汉字字模偏移表
   extern _BYTE *cpHelp;
   extern _BYTE *SmallIcons;
   extern _BYTE *LargeIcons;

   //*------------------- extern of Disp.c---------------------------------------------------------
   extern void DispLCDSetPinAo(_BYTE cFlag);
   extern void DispLCDSetPinEnable(_BYTE cFlag);
   extern void DispLCDSetPinCs1(_BYTE cFlag);
   extern void DispLCDSetPinCs2(_BYTE cFlag);
   extern void DispLCDWriteCommand(_BYTE cCommand);
   extern void DispLCDWriteData(_BYTE cData);
   extern void DispLCDInit(void);
   extern void DispLCDClearScreen(void);  //清屏
   extern void DisplayMessage(_BYTE cRetCode,_BYTE cPage,_BYTE cSecond,_BYTE cWait,_BYTE cRecovery);
   extern void DisplayRecoveryMessage(_BYTE cPage,_BYTE cRecovery);
   extern void DispClearVideoBuf(_BYTE cPage,_BYTE cCol,_BYTE cHeight,_BYTE cWidth);
   extern _BYTE DispOutText(_BYTE cPage,_BYTE cCol,_BYTE cLen,_BYTE *cpText);
   extern _BYTE DispOutImage(_BYTE cPage,_BYTE cCol,_BYTE cHeight,_BYTE cWidth,_BYTE *cpImage);
   extern _BYTE DispOutImageInRow(_BYTE cRow,_BYTE cCol,_BYTE cHeight,_BYTE cWidth,_BYTE *cpImage,_BYTE cReverse);
   extern _BYTE DispRefreshInRow(_BYTE cRow,_BYTE cCol,_BYTE cHeight,_BYTE cWidth);
   extern _BYTE DispReverse(_BYTE cPage,_BYTE cCol,_BYTE cHeight,_BYTE cWidth);
   extern void DispOpen(_BYTE cMode);
   extern void DispBackLigth(_BYTE cMode,_BYTE cTime);
   extern void DispRefresh(_BYTE cPage,_BYTE cCol,_BYTE cHeight,_BYTE cWidth,_BYTE cMode);

   //*------------------- extern of Dls.c---------------------------------------------------------
   extern void DlsSetTime(struct StruCLOCK *sClock);						// 设置时间
   extern void DlsReadTime(struct StruCLOCK *sClock);						// 读时钟

   //*------------------- extern of interrupt_Usatr.c---------------------------------------------------------
   extern void CommandProcess(unsigned char * cpRecBuf);

   //extern _DWORD AT91F_US_SendFrame(AT91PS_USART pUSART,unsigned char *pBuffer,_DWORD szBuffer);
   extern _BYTE RecieveByteCom(_WORD OverTime);
   extern _BYTE SendStringCom(_BYTE * str, _BYTE cRetCode, _BYTE cSendMode );
   extern _WORD SendStringComToBuf(_BYTE * str, _BYTE cRetCode, _BYTE cSendMode,_BYTE *cpTragetBuf);
   extern void SendByteCom(_BYTE cChar);
   //extern _DWORD AT91F_AIC_ConfigureIt(AT91PS_AIC pAic,_DWORD irq_id,_DWORD priority,_DWORD src_type, void (*newHandler) (void));
   //extern _DWORD AT91F_AIC_ConfigureIt(AT91PS_AIC pAic,_DWORD irq_id,_DWORD priority,_DWORD src_type, unsigned int newHandler);

   //*------------------- extern of interrupt_Timer.c---------------------------------------------------------
   extern void timer_init ( void );

   //*------------------- extern of test.c---------------------------------------------------------
   extern void TestLED(void);
   extern void LED_Green(U32 Status);
   extern void LED_Red(U32 Status);

   // External Function Prototype
   extern void Usart_init (void);


   /* Function Prototyping File */
   //*------------------- extern of bct.c---------------------------------------------------------
   extern void BCTWriteReg(_BYTE cOffset, unsigned char cMask, unsigned char cValue);
   extern void BCTSetAddressAndData(_BYTE cAddress,_BYTE cValue);
   extern void BCTSetIO(void);
   extern _BYTE BCTOpen(void);
   extern int BCTClose(void);
   extern U8 BCTReadDPR(void);
   extern int BCTReadScreen(U8 * cpBuffer);
   extern void CorrectImage(_BYTE * cpSourceImage,_BYTE *cpTragetImage);
   extern _BYTE BCTSW1ReadStatus(void);
   extern _BYTE BCTWaitSW1(_DWORD dwTime);

   //*------------------- extern of common.c---------------------------------------------------------
   extern void Power(int iOnOff);
   extern void Initialize(void);
   extern void InitCPLD(void);
   extern _BYTE InitGlobalVar(void);
   extern _BYTE SelfCheckExtRAM(void);
   extern _BYTE SelfCheck(void);
   extern void Beep(_BYTE cCount);
   extern void Sound(_BYTE cSoundID);
   extern void LEDGreen(_BYTE cStatus,_BYTE cTime);
   extern void LEDRed(_BYTE cStatus,_BYTE cTime);
   extern void SoundOnOff(_BYTE cStatus);
   extern void Delayms(_DWORD dwTime);
   extern void Delays(_DWORD dwTime);
   extern void DelayMCK4(_DWORD dwTime);
   extern void Delay10us(_DWORD dwTime);
   extern void PowerOnRecovery(void);
   extern void DisplayCardInfo(SBIEF_1 *sBIEFBaseInfo,SBIEF_2 *sBIEFTrainInfo,SBIEF_3 *sBIEFTimeInfo,_BYTE cWait,_BYTE cDetail);
   extern void BIEFToDCB(SBIEF_1 *sBIEFBaseInfo,SBIEF_2 *sBIEFTrainInfo,SBIEF_3 *sBIEFTimeInfo,struct StruDCB *spDCB);
   extern _BYTE CheckUsableDBC(_BYTE *cDCBItem);
   extern _BYTE AllocateOrFreeDCB(_BYTE cDCBSeq,_BYTE cTag);
   extern _BYTE CoachLogin(SBIEF_1 *sBIEFBaseInfo,SBIEF_2 *sBIEFTrainInfo,SBIEF_3 *sBIEFTimeInfo);
   extern _BYTE CoachLogout(SBIEF_1 *sBIEFBaseInfo,SBIEF_2 *sBIEFTrainInfo,SBIEF_3 *sBIEFTimeInfo);
   extern _BYTE DriverLogin(SBIEF_1 *sBIEFBaseInfo,SBIEF_2 *sBIEFTrainInfo,SBIEF_3 *sBIEFTimeInfo);
   extern _BYTE DriverLogout(SBIEF_1 *sBIEFBaseInfo,SBIEF_2 *sBIEFTrainInfo,SBIEF_3 *sBIEFTimeInfo);
   extern _BYTE DriverTmpLogout(void);
   extern _BYTE BuildLogInfoFromDCB(_BYTE cCardType,_BYTE cDCBSeq,_BYTE cEst,struct StruLOGPOOL cpLogBuf[]);
   extern _BYTE BuildOneLogFormOneDCB(_BYTE cDCBSeq,_BYTE cEst,struct StruLOGPOOL cpLogBuf[]);
   extern _BYTE BuildOneLog(_BYTE cDCBSeq,_DWORD dwMile,_WORD wTime,_BYTE cEst,_BYTE cTag,struct StruLOGPOOL *cpLogBuf);
   extern void LogCompress(_BYTE * cpBuf,_BYTE cDCBSeq,_BYTE cTag,_BYTE cEst);
   extern void MergeDCBCDTISmallInfo(_BYTE cDCBSeq,_BYTE cMergeType);
   extern void MergeDCBTrainInfo(_BYTE cDCBSeq);
   extern _BYTE WriteLogToCoachIC(SBIEF_1 *sBIEFBaseInfo,SBIEF_2 *sBIEFTrainInfo,SBIEF_3 *sBIEFTimeInfo);
   extern _BYTE WriteLogToDriverIC(SBIEF_1 *sBIEFBaseInfo,SBIEF_2 *sBIEFTrainInfo,SBIEF_3 *sBIEFTimeInfo,_BYTE cDCBSeq,struct StruLOGPOOL cpLogBuf[]);
   extern _BYTE AskForCoachLogout(_BYTE cType,_BYTE cDCBSeq);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -