debugcdc.h

来自「基本STC4052写的一个小的OS, 完成了任务调度功能,及堆栈空间切换,」· C头文件 代码 · 共 121 行

H
121
字号
/********************************************************************
	Copyright (c) 2006-2007 E-compass electronic Co.,Ltd. 
	File name: debugcdc.h
	Author: Yun Chen  
	Email: walnutcy@163.com
	Version: 0.5
	Data: 
	Descriptions:
	Others:
	Functions list: 

	History: ...
*********************************************************************/


#ifndef  _DEBUGCDC_H_
#define _DEBUGCDC_H_

#include "..\includes.h"

#ifdef _DEBUG_CDC_
///////////////////////////////
#ifdef  _DEBUG_CDC_EXT_
#define  DEBUG_CDC_EXT     
#else
#define  DEBUG_CDC_EXT     extern  
#endif


//
//status line
//
#define  REV_CONNECT_STATUS                   0x98
#define  REV_CD_STATUS                        0x99 
#define  REV_DISC_CHG_STATUS                  0x9B 
#define  REV_CD_TOC_STATUS                    0x9C 
#define  REV_MAGZ_STATUS                      0x9D 
#define  REV_ERROR_STATUS                     0x9F 

typedef struct  _CDCHGERCTRL{
U16  DevID                     :4;//device ID
U16  CDCtrlMode                :4;//CD control mode
U16  SysCtrlMode               :4;//error Number
U16  CurTrkNO                  :8;//music NO.
U16  CurDiscNO                 :8;//disc NO.
U16  TarDiscNO                 :4;//target disc number
U16  TarMusicNO                :8;//target music number
U16  CurTrkMin                 :8;//misc minute
U16  CurTrkSec                 :8;//misc second
U16  TrkStartNO                :8;//start music NO.
U16  TrkEndNO                  :8;//end music NO.
U16  TotalMin                  :8;
U16  TotalSec                  :8;
//U16  DiscNO9_10              :8;//disc number No.9-No.10
//U16  DiscNO1_8                 ;//disc number No.1-No.8
U16  RdTOCStatus               :4;
U16  DiscStatus                :4;//disc chang/magazine status
U16  StatusId                  :4;//status indication,notice: different from  position of spec
U16  Discexist                 :10;//Disc exists
U16  FunctStatus               :6;//function control status
U8  ErrNO                        ;//error Number
}CDCHGERCTRL;

DEBUG_CDC_EXT CDCHGERCTRL CDchger;

#define IsPowerOffMd()                 (CDchger.CDCtrlMode==0x0)
#define IsStopMd()                     (CDchger.CDCtrlMode==0x02)
#define IsPauseMd()                    (CDchger.CDCtrlMode==0x03)
#define IsPlayMd()                     (CDchger.CDCtrlMode==0x04)
#define IsSearchMd()                   (CDchger.CDCtrlMode==0x05)
#define IsFWDMd()                      (CDchger.CDCtrlMode==0x06)
#define IsBWDMd()                      (CDchger.CDCtrlMode==0x07)

#define IsSysInitMd()                  (CDchger.SysCtrlMode==0x00)
#define IsChuckDiscMd()                (CDchger.SysCtrlMode==0x09)
#define IsEjectDiscMd()                (CDchger.SysCtrlMode==0x0a)
#define IsChgDiscMd()                  (CDchger.SysCtrlMode==0x0b)

#define Disc1exist()                   (CDchger.Discexist&0x200)
#define Disc2exist()                   (CDchger.Discexist&0x100)
#define Disc3exist()                   (CDchger.Discexist&0x080)
#define Disc4exist()                   (CDchger.Discexist&0x040)
#define Disc5exist()                   (CDchger.Discexist&0x020)
#define Disc6exist()                   (CDchger.Discexist&0x010)
#define Disc7exist()                   (CDchger.Discexist&0x008)
#define Disc8exist()                   (CDchger.Discexist&0x004)
#define Disc9exist()                   (CDchger.Discexist&0x002)
#define Disc0exist()                   (CDchger.Discexist&0x001)

#define RdTOCok()                      (CDchger.RdTOCStatus&0x08)
#define RdTotTime()                    (CDchger.RdTOCStatus&0x04)
#define RdEndTrk()                     (CDchger.RdTOCStatus&0x02)
#define RdStartTrk()                   (CDchger.RdTOCStatus&0x01)

#define IsEjectKeyStat()               (CDchger.DiscStatus&0x08)
#define IsDiscStatus()                 (CDchger.DiscStatus&0x04)
#define IsMagazineStat()               (CDchger.DiscStatus&0x02)
#define IsDiscChgStat()                (CDchger.DiscStatus&0x01)

#define IsPowerOffInd()                (CDchger.StatusId&0x08)
#define IsStopInd()                    (CDchger.StatusId&0x04)
#define IsPauseInd()                   (CDchger.StatusId&0x02)
#define IsPlayInd()                    (CDchger.StatusId&0x01)

#define IsRepeatDisc()                 (CDchger.FunctStatus&0x20)
#define IsRepeatTrk()                  (CDchger.FunctStatus&0x10)
#define IsScanTrk()                    (CDchger.FunctStatus&0x08)
#define IsShuffleTrk()                 (CDchger.FunctStatus&0x04)
#define IsShuffleDisc()                (CDchger.FunctStatus&0x02)
#define IsScanDisc()                   (CDchger.FunctStatus&0x01)

///////////////////
GLOBAL_EXT U8 CDC_SystemIrDecoder(U8 *msg);
GLOBAL_EXT void  DeC_Init();// debug CDC init
GLOBAL_EXT U8 CDC_RvChgerStatus(U8* rvData);
//////////////////
#endif


#endif /* __CD_CHANGER_COMMINCATION_H__ */

⌨️ 快捷键说明

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