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 + -
显示快捷键?