亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xsac97ctrl.h

?? 嵌入式系統關于串口傳輸、觸摸屏、定時器、控制器、中斷處理、音頻控制等實驗代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
#define XS_AC97CTRL_ACLINK_FRAME_USECS     21

        // The number of 50 microsecond intervals to hold the cold reset
        //   line active before deactivating it, in order to perform a
        //   cold reset.
        // The minimum value of this constant is codec-dependent and should
        //  be determined by the least responsive codec in the system.
#define XS_AC97CTRL_COLD_HOLD_50USECS       1

        // The number of 50 microsecond intervals to wait before declaring
        //   a time out on receipt of a Codec Ready indication after Bit 1
        //   of the GSR is toggled from 0 to 1.
        // The minimum value of this constant is codec-dependent and should
        //  be determined by the least responsive codec in the system.
#define XS_AC97CTRL_COLD_TIMEOUT_50USECS    10

        // Timeout for the I/O cycle reading mixer registers from Codec
        // Actually the max is expected to be 126 uSec; add some for padding
#define XS_AC97CTRL_READ_TIMEOUT_1USECS ((XS_AC97CTRL_ACLINK_FRAME_USECS*6)+24)

#define XS_AC97CTRL_CODEC_READ_RETRIES       3

        // Getting the AC link should not take much longer than a time-out
        //  on an in-progress read operation.  If one read operation is 
        //  successful, both should proceed fairly quickly.
#define XS_AC97CTRL_CAIP_TIMEOUT_1USECS  (XS_AC97CTRL_READ_TIMEOUT_1USECS + 50)


/*
*******************************************************************************
    AC'97 Controller Registers Structure Definition
*******************************************************************************
*/

// For accessing the Codec mixer registers, each increment of one 32-bit word
//  in processor space increments the addressed mixer register by two.
// This does not cause any ambiguities because only even mixer register 
//  addresses are currently supported (AC '97 spec, R 2.2)
#define XS_AC97CTRL_MIXER_REGS_PER_WORD   2


typedef struct XsAc97CtrlRegsS
{  //   Register symbol     // Usage

    VUINT32 POCR;           // PCM Out Control Register
    VUINT32 PICR;           // PCM In Control Register
    VUINT32 MCCR;           // Mic In Control Register
    VUINT32 GCR;            // Global Control Register
    VUINT32 POSR;           // PCM Out Status Register
    VUINT32 PISR;           // PCM In Status Register
    VUINT32 MCSR;           // Mic In Status Register
    VUINT32 GSR;            // Global Status Register
    VUINT32 CAR;            // CODEC Access Register
    VUINT32 rsvd1 [7];      // 0x4050-0024 through 0x4050-003C
    VUINT32 PCDR;           // PCM FIFO Data Register
    VUINT32 rsvd2 [7];      // 0x4050-0044 through 0x4050-005C   
    VUINT32 MCDR;           // Mic-in FIFO Data Register
    VUINT32 rsvd3 [0x27];   // 0x4050-0064 through 0x4050-00FC   
    VUINT32 MOCR;           // MODEM Out Control Register
    VUINT32 rsvd4; 
    VUINT32 MICR;           // MODEM In Control Register
    VUINT32 rsvd5; 
    VUINT32 MOSR;           // MODEM Out Status Register
    VUINT32 rsvd6; 
    VUINT32 MISR;           // MODEM In Status Register
    VUINT32 rsvd7 [9];      // 0x4050-011C through 0x4050-013C
    VUINT32 MODR;           // MODEM FIFO Data Register 
    VUINT32 rsvd8 [0x2F];   // 0x4050-0144 through 0x4050-01FC
                            // Primary Audio CODEC registers access 
    VUINT32 XsAC97CtrlMixerRegsPrimaryAud   [AC97_NUM_MIXER_REGS];
                            // Secondary Audio CODEC registers access
    VUINT32 XsAC97CtrlMixerRegsSecondaryAud [AC97_NUM_MIXER_REGS];
                            // Primary MODEM CODEC registers access
    VUINT32 XsAC97CtrlMixerRegsPrimaryMdm   [AC97_NUM_MIXER_REGS];
                            // Secondary MODEM CODEC registers access
    VUINT32 XsAC97CtrlMixerRegsSecondaryMdm [AC97_NUM_MIXER_REGS];

}  XsAc97CtrlRegsT ;

/*
*******************************************************************************
    Define one entry in the AC'97 Controller status indicator processing table.
    Includes interrupt control and callback (registered handler) info.
*******************************************************************************
*/

typedef struct XsAc97CtrlStatusEntryE
{
    BOOL     intIsSupported;           // Int supported in current system?
    BOOL     intIsEnabled;             // Ints currently enabled for this type?

    void*    registeredParamP;         // Pass back to registered handler

    VUINT32* enableRegisterP;          // Addr of mem-mapped reg for int enable
    INT      enableBitShift;           // Bit position in enable reg for enable

    UINT32   reportBitMaskGsr;         // Unshifted Mask for status in GSR
    INT      reportBitShiftGsr;        // Bit position where reported in GSR

    VUINT32* clearRegisterP;           // Addr of mem-mapped reg for status clr
    INT      clearBitShift;            // Bit position in status reg for clear

} XsAc97CtrlStatusEntryT;

extern XsAc97CtrlStatusEntryT XsAc97CtrlStatusTable [XS_AC97CTRL_STAT_MAX+1];

/*
*******************************************************************************
*******************************************************************************
    Ac97Ctrl.c scope variable definitions
*******************************************************************************
*******************************************************************************
*/
extern const XsAc97CtrlStatusIdT XsAc97CtrlIntToStatusTransTbl [] ;
/*
static
XsAc97CtrlStatusIdT XsAc97CtrlIntToStatusTransTbl [] =
{
    XS_AC97CTRL_STAT_GSCI,    // XS_AC97CTRL_INT_GSCI
    XS_AC97CTRL_STAT_MDM_IN,  // XS_AC97CTRL_INT_MIINT
    XS_AC97CTRL_STAT_MDM_OUT, // XS_AC97CTRL_INT_MOINT
    XS_AC97CTRL_STAT_PCM_IN,  // XS_AC97CTRL_INT_PIINT
    XS_AC97CTRL_STAT_PCM_OUT, // XS_AC97CTRL_INT_POINT
    XS_AC97CTRL_STAT_MIC_IN,  // XS_AC97CTRL_INT_MINT 
    XS_AC97CTRL_STAT_PCRDY,   // XS_AC97CTRL_INT_PCRDY
    XS_AC97CTRL_STAT_SCRDY,   // XS_AC97CTRL_INT_SCRDY
    XS_AC97CTRL_STAT_PCRSM,   // XS_AC97CTRL_INT_PCRSM
    XS_AC97CTRL_STAT_SCRSM,   // XS_AC97CTRL_INT_SCRSM
    XS_AC97CTRL_STAT_SDONE,   // XS_AC97CTRL_INT_SDONE
    XS_AC97CTRL_STAT_CDONE    // XS_AC97CTRL_INT_CDONE

}; // XsAc97CtrlIntToStatusTransTbl[]
*/
extern XsAc97CtrlRegsT *XsAc97CtrlRegsP;
// XsAc97CtrlRegsT *XsAc97CtrlRegsP = (XsAc97CtrlRegsT *) XS_AC97CTRL_REGISTER_BASE;
 
                                
UINT32 XsAc97CtrlClearStatus (XsAc97CtrlStatusIdT);                                

UINT32 XsAc97CtrlRangeCheckStatusId (XsAc97CtrlStatusIdT);

static
void XsAc97CtrlSetStatusEntry ( XsAc97CtrlStatusEntryT* targetEntryP,
                                BOOL,
                                VUINT32*,
                                INT,
                                UINT32,
                                INT,
                                VUINT32*,
                                INT);


void XsAc97CtrlSWInit (void);
UINT32 XsAc97CtrlHWSetup (void);

UINT32 XsAc97CtrlWriteCodecReg   (XsAc97CtrlCodecModemIdT  ac97DeviceId, 
                                 AC97MixerRegisterIdT     targetRegister,
                                 UINT32                   newValue);
void playpcm(void);
#endif // #ifndef _XSAC97CTRL_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品理论电影在线观看 | 一区二区三区日韩欧美| 欧美精品一区二区三区很污很色的 | 国产99久久久国产精品潘金| 日本亚洲一区二区| 石原莉奈在线亚洲二区| 视频一区视频二区中文| 亚洲国产综合91精品麻豆| 亚洲黄色av一区| 午夜激情久久久| 日日摸夜夜添夜夜添精品视频| 亚洲成人tv网| 蜜臀精品久久久久久蜜臀| 亚洲成人在线免费| 久久精品久久99精品久久| 韩国三级中文字幕hd久久精品| 精品亚洲国产成人av制服丝袜 | 亚洲欧美怡红院| 伊人性伊人情综合网| 五月综合激情婷婷六月色窝| 日本欧美一区二区| 国产sm精品调教视频网站| 色婷婷激情一区二区三区| 欧美三级资源在线| 国产亚洲精品超碰| 亚洲一区二区三区小说| 美女一区二区久久| 91在线国产福利| 在线综合视频播放| 日本一区二区三级电影在线观看| 亚洲精品免费看| 激情综合色综合久久| 97精品久久久午夜一区二区三区| 精品视频一区二区三区免费| 精品少妇一区二区三区日产乱码| 国产精品不卡一区| 老色鬼精品视频在线观看播放| 成av人片一区二区| 日韩免费看的电影| 亚洲一区二区三区爽爽爽爽爽| 久久99精品国产91久久来源| 日本高清不卡aⅴ免费网站| 精品国产一区二区三区不卡 | 这里只有精品免费| 国产精品久久久久婷婷| 美女一区二区视频| 欧美日韩一区国产| 国产精品二三区| 国产精品伊人色| 91麻豆精品国产91久久久久久| 国产精品久久久久久久久久免费看| 午夜视频在线观看一区| 在线免费观看不卡av| www久久精品| 久久精品国产一区二区三区免费看| 97成人超碰视| 国产精品天天看| 国产一区二区三区电影在线观看| 欧美一区二区三区男人的天堂| 亚洲精品国产无天堂网2021 | 人妖欧美一区二区| 欧美影视一区二区三区| 国产精品久久久久影院色老大| 国产精品一区二区在线观看网站 | 久久精品一区二区| 五月婷婷色综合| 欧美体内she精高潮| 亚洲精品国产品国语在线app| 成人动漫在线一区| 国产精品少妇自拍| 成人av影视在线观看| 久久久久久一二三区| 国内成+人亚洲+欧美+综合在线| 欧美精品v国产精品v日韩精品| 亚洲综合av网| 欧美三级电影网站| 欧美aaaaaa午夜精品| 欧美猛男男办公室激情| 青青草97国产精品免费观看| 911精品产国品一二三产区| 午夜影视日本亚洲欧洲精品| 欧美日韩国产色站一区二区三区| 亚洲午夜羞羞片| 日韩一级成人av| 精品夜夜嗨av一区二区三区| 国产丝袜欧美中文另类| 国产91色综合久久免费分享| 国产精品午夜久久| 色天天综合久久久久综合片| 亚洲成人免费在线观看| 91精品国产综合久久久久久久 | 欧美一区二区三区四区高清| 日精品一区二区| 日韩免费高清av| 成人性生交大片免费看在线播放| 亚洲欧美影音先锋| 欧美人xxxx| 国产盗摄视频一区二区三区| 亚洲欧美激情视频在线观看一区二区三区 | 欧美日本一道本| 另类小说视频一区二区| 中文在线免费一区三区高中清不卡| www.亚洲精品| 午夜视频在线观看一区二区| 久久―日本道色综合久久| 99精品欧美一区二区三区小说| 亚洲高清中文字幕| 久久久久亚洲蜜桃| 欧美日韩精品欧美日韩精品一综合 | 成人欧美一区二区三区白人| 欧美系列在线观看| 粉嫩久久99精品久久久久久夜| 亚洲香肠在线观看| 久久久久国产免费免费| 欧美天堂一区二区三区| 成人午夜短视频| 久久精品国产亚洲5555| 亚洲免费观看高清完整版在线| 日韩欧美高清一区| 欧美探花视频资源| www.欧美日韩国产在线| 久久精品国产精品亚洲精品| 亚洲欧美日韩成人高清在线一区| 日韩一区二区三区免费看| 成人app下载| 韩国午夜理伦三级不卡影院| 亚洲国产日产av| 国产精品久久久久四虎| 欧美变态口味重另类| 欧美色图免费看| 91丨九色丨黑人外教| 国产不卡一区视频| 久久福利视频一区二区| 日韩电影在线观看一区| 亚洲免费看黄网站| 国产精品久久久久久久久搜平片| 日韩欧美国产综合一区| 欧美日韩中文字幕精品| 色噜噜狠狠色综合欧洲selulu| 高潮精品一区videoshd| 国产尤物一区二区在线| 奇米精品一区二区三区四区 | 欧美精品一二三| 欧美做爰猛烈大尺度电影无法无天| 成人午夜视频福利| 国产99久久久精品| 国产aⅴ综合色| 懂色一区二区三区免费观看| 国产一区二区美女诱惑| 久久99精品国产麻豆婷婷| 久久se精品一区二区| 美女视频网站久久| 狠狠色丁香婷婷综合| 国产精品综合久久| 国产成人精品午夜视频免费| 国产乱人伦偷精品视频免下载| 久久激五月天综合精品| 久久精品国产精品青草| 国产一区二区中文字幕| 国产成人精品在线看| 岛国一区二区在线观看| 91老师片黄在线观看| 日本国产一区二区| 欧美日韩不卡一区| 精品美女被调教视频大全网站| 久久午夜羞羞影院免费观看| 久久嫩草精品久久久久| 亚洲欧洲日韩一区二区三区| 亚洲人一二三区| 午夜视频一区二区三区| 久久精品国产久精国产| 北条麻妃国产九九精品视频| 色婷婷综合在线| 日韩一区二区三区精品视频| 久久久久国产一区二区三区四区| 中文字幕在线视频一区| 一区二区三区中文在线观看| 日本免费新一区视频| 国产精品99久久久| 欧美午夜精品一区| 久久久久国产精品人| 亚洲一区二区三区自拍| 久久精品久久久精品美女| 91一区二区三区在线播放| 欧美日韩高清一区二区| 国产婷婷色一区二区三区| 亚洲最新视频在线观看| 国产高清在线精品| 欧美日韩国产首页| 国产精品美女久久久久av爽李琼| 亚洲综合在线免费观看| 久久99精品久久久久久| 欧美在线色视频| 久久久99久久精品欧美| 午夜在线电影亚洲一区| av电影一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 一区二区高清在线| 国产99久久久国产精品潘金| 日韩视频国产视频|