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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? osd.c

?? Bitek 公司 bit1611b模擬屏驅(qū)動芯片外接MCU驅(qū)動DEMO源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
{
    BITEK_TxRepeat(OSD_MAD, VP_0500_057F_DISPLAY_CODE + bOffset, bCnt, bCharCode);
    BITEK_TxRepeat(OSD_MAD, VP_0580_05FF_DISPLAY_ATTR + bOffset, bCnt, bCharAttr);
} /* OSD_FillCharCodeAttr */


/* -------------------------------------------------------------------
    Name: OSD_Init - (OSD_BIT1611B)
    Purpose: To initialize OSD module.
    Passed: None.
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void OSD_Init (void)
{
    // [1]116 Setup Palette for Background and Foregound !
    BITEK_TxBurst(OSD_MAD, VP_0600_063F_PALETTE, sizeof(abOSD_Palette), abOSD_Palette);


    /* ####################################
        Windows 1
       #################################### */
    OSD_FillCharCodeAttr(OSD_WINDOW1_BASE,
                         OSD_WINDOW1_AREA,
                         ' ',
                         OSD1_COLOR_HILIGHT);

    // To normal row #0 of Window 1
    OSD_FillCharAttr(OSD_WINDOW1_BASE,
                     OSD_WINDOW1_WIDTH,
                     OSD1_COLOR_NORMAL      );


    // [1]118 OSD1 Display RAM Start Index
    BITEK_TxByte(OSD_MAD, VP_13D_OSD1_RAM_INDEX, OSD_WINDOW1_BASE);

    // [1]118 OSD1 OSD Fade Level
    BITEK_TxByte(OSD_MAD, VP_13E_OSD1_FADE_LEVEL, OSD1_FADE_LEVEL);

    // [1]118 OSD1 OSD BORDER
    BITEK_TxByte(OSD_MAD, VP_13F_OSD1_BORDER_SEL, OSD1_BORDER);

    // [1]118 OSD1 OSD BORDER Attr
    BITEK_TxByte(OSD_MAD, VP_140_OSD1_ATTR1, OSD1_BORDER_ATTR);

    // [1]118 OSD1 Attribute 1
    BITEK_TxByte(OSD_MAD, VP_141_OSD1_ATTR2, OSD1_CHAR_SIZE);

    // [1]118 OSD1 Attribute 2

    ////////////////////////////////////////////////////////
    // [JC010] OSD Image Retention issue fixed by JC 09:15AM  2006/04/25
    //BITEK_TxByte(OSD_MAD, VP_143_OSD1_ATTR4, OSD1_LINE_BLINK);
    BITEK_TxByte(OSD_MAD, VP_143_OSD1_ATTR4, OSD1_LINE_BLINK | VP_MASK_OSD1_EN);
    ////////////////////////////////////////////////////////

    OSD_SetWindow(OSD_WINDOW1,
                  OSD_WINDOW1_H,                // in clocks
                  OSD_WINDOW1_V,                // in horizontal lines
                  OSD_WINDOW1_WIDTH,            // in characters
                  OSD_WINDOW1_HEIGHT    );      // in rows


    /* ####################################
        Windows 2
       #################################### */
    OSD_FillCharCodeAttr(OSD_WINDOW2_BASE,
                         OSD_WINDOW2_AREA,
                         ' ',
                         OSD2_COLOR_NORMAL);

    // [1]119 OSD2 Display RAM Start Index
    BITEK_TxByte(OSD_MAD, VP_14B_OSD2_RAM_INDEX, OSD_WINDOW2_BASE);

    // [1]119 OSD2 OSD Fade Level
    BITEK_TxByte(OSD_MAD, VP_14C_OSD2_FADE_LEVEL, OSD2_FADE_LEVEL);

    // [1]119 OSD2 OSD BORDER
    BITEK_TxByte(OSD_MAD, VP_14D_OSD2_BORDER_SEL, OSD2_BORDER);

    // [1]119 OSD2 OSD BORDER Attr
    BITEK_TxByte(OSD_MAD, VP_14E_OSD2_ATTR1, OSD2_BORDER_ATTR);


    // [1]119 OSD2 Attribute 1
    BITEK_TxByte(OSD_MAD, VP_14F_OSD2_ATTR2, OSD2_CHAR_SIZE);

    // [1]119 OSD2 Attribute 2
    BITEK_TxByte(OSD_MAD, VP_151_OSD2_ATTR4, OSD2_LINE_BLINK);

    OSD_SetWindow(OSD_WINDOW2,
                  OSD_WINDOW2_H,                // in clocks
                  OSD_WINDOW2_V,                // in horizontal lines
                  OSD_WINDOW2_WIDTH,            // in characters
                  OSD_WINDOW2_HEIGHT    );      // in rows


    /* ####################################
        Windows 3
       #################################### */
    OSD_FillCharCodeAttr(OSD_WINDOW3_BASE,
                         OSD_WINDOW3_AREA,
                         ' ',
                         OSD3_COLOR_NORMAL      );

    // To HILIGHT row #0 of Window 3
    OSD_FillCharAttr(OSD_WINDOW3_BASE,
                     OSD_WINDOW3_WIDTH,
                     OSD3_COLOR_HILIGHT         );

    #if (MENU_STYLE_CFG == MENU_STYLE_SCROLLING_3)
    // Nothing

    #else
    // ICON of Window 3
    OSD_FillCharAttr(OSD_WINDOW3_BASE + OSD_X_ICON,
                     1,
                     OSD3_COLOR_ICON                );
    #endif

    // [1]120 OSD3 Display RAM Start Index
    BITEK_TxByte(OSD_MAD, VP_159_OSD3_RAM_INDEX, OSD_WINDOW3_BASE);

    // [1]120 OSD3 OSD Fade Level
    BITEK_TxByte(OSD_MAD, VP_15A_OSD3_FADE_LEVEL, OSD3_FADE_LEVEL);

    // [1]120 OSD3 OSD BORDER
    BITEK_TxByte(OSD_MAD, VP_15B_OSD3_BORDER_SEL, OSD3_BORDER);

    // [1]120 OSD3 OSD BORDER Attr
    BITEK_TxByte(OSD_MAD, VP_15C_OSD3_ATTR1, OSD3_BORDER_ATTR);


    // [1]120 OSD3 Attribute 1
    BITEK_TxByte(OSD_MAD, VP_15D_OSD3_ATTR2, OSD3_CHAR_SIZE);

    // [1]120 OSD3 Attribute 2
    BITEK_TxByte(OSD_MAD, VP_15F_OSD3_ATTR4, OSD3_LINE_BLINK);

    OSD_SetWindow(OSD_WINDOW3,
                  OSD_WINDOW3_H,
                  OSD_WINDOW3_V,
                  OSD_WINDOW3_WIDTH,
                  OSD_WINDOW3_HEIGHT    );
} /* OSD_Init */


/* -------------------------------------------------------------------
    Name: OSD_SetWindow - (OSD_BIT1611B)
    Purpose: To setup OSD window position and size on the panel screen.
    Passed:
        UB8     bWindow     = OSD Window Identifier.
        UW16    wH_Pos      = Horizontal position in clocks.
        UW16    wV_Pos      = Vertical position in horizontal lines.
        UB8     bWidth      = Horizontal size in characters.
        UB8     bHeight     = Vertical size in rows.
    Returns: None
    Notes: [1]115
   ------------------------------------------------------------------- */
void OSD_SetWindow (
UB8     bWindow,        // WINDOW 1, WINDOW 2 or WINDOW 3
UW16    wH_Pos,         // Horizontal position in clocks (0..2047)
UW16    wV_Pos,         // Vertical position in horizontal lines (0..511)
UB8     bWidth,         // Horizontal size in characters (0..63)
UB8     bHeight         // Vertical size in rows (0..31)
)
{
    switch (bWindow)
    {
        case OSD_WINDOW1:
            // [1]115 Horizontal Position
            BITEK_TxByte(OSD_MAD, VP_13813A_OSD1_H_POSITION, wH_Pos);

            // [1]115 Vertical Position
            BITEK_TxByte(OSD_MAD, VP_13913A_OSD1_V_POSITION, wV_Pos);

            BITEK_TxByte(OSD_MAD,
                         VP_13A_OSD1_POSITION_MSB,
                         (wV_Pos >> 8) | ((wH_Pos >> 4) & 0x30)
                        );

            // [1]115 Width
            BITEK_TxByte(OSD_MAD, VP_13B_OSD1_WIDTH, bWidth - 1);

            // [1]115 Height
            BITEK_TxByte(OSD_MAD, VP_13C_OSD1_HEIGHT, bHeight - 1);
            break;

        case OSD_WINDOW2:
            // [1]115 Horizontal Position
            BITEK_TxByte(OSD_MAD, VP_146148_OSD2_H_POSITION, wH_Pos);

            // [1]115 Vertical Position
            BITEK_TxByte(OSD_MAD, VP_147148_OSD2_V_POSITION, wV_Pos);

            BITEK_TxByte(OSD_MAD,
                         VP_148_OSD2_POSITION_MSB,
                         (wV_Pos >> 8) | ((wH_Pos >> 4) & 0x30)
                        );

            // [1]115 Width
            BITEK_TxByte(OSD_MAD, VP_149_OSD2_WIDTH, bWidth - 1);

            // [1]115 Hieght
            BITEK_TxByte(OSD_MAD, VP_14A_OSD2_HEIGHT, bHeight - 1);
            break;

        case OSD_WINDOW3:
            // [1]115 Horizontal Position
            BITEK_TxByte(OSD_MAD, VP_154156_OSD3_H_POSITION, wH_Pos);

            // [1]115 Vertical Position
            BITEK_TxByte(OSD_MAD, VP_155156_OSD3_V_POSITION, wV_Pos);

            BITEK_TxByte(OSD_MAD,
                         VP_156_OSD3_POSITION_MSB,
                         (wV_Pos >> 8) | ((wH_Pos >> 4) & 0x30)
                        );

            // [1]115 Width
            BITEK_TxByte(OSD_MAD, VP_157_OSD3_WIDTH, bWidth - 1);

            // [1]115 Hieght
            BITEK_TxByte(OSD_MAD, VP_158_OSD3_HEIGHT, bHeight - 1);
            break;
    }
} /* OSD_SetWindow */


/* -------------------------------------------------------------------
    Name: OSD_ShowChar - (OSD_BIT1611B)
    Purpose: To show a character at specified position in OSD window.
    Passed:
        UB8 bWindow     = OSD Window Identifier.
        UB8 bCol        = Horizontal position in columns (0..OSD_WINDOW_WIDTH - 1).
        UB8 bRow        = Vertical position in rows (0..OSD_WINDOW_HEIGHT - 1).
        UB8 bCharCode   = The displayed character code.
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void OSD_ShowChar (
UB8 bWindow,
UB8 bCol,     // 0..OSD_WINDOW_WIDTH - 1
UB8 bRow,     // 0..OSD_WINDOW_HEIGHT - 1
UB8 bCharCode
)
{
    UW16    wAddr;


    wAddr = OSD_DisplayAddress(bWindow, bRow, bCol);
    BITEK_TxByte(OSD_MAD, wAddr, bCharCode);
} /* OSD_ShowChar */


#if (OSD_SHOW_HEX)
/* -------------------------------------------------------------------
    Name: OSD_ShowHex - (OSD_BIT1611B)
    Purpose: To show one byte value in hexadecimal format at
        specified position of OSD window.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void OSD_ShowHex (
UB8     bWindow,
UB8     bCol,
UB8     bRow,
UB8     bValue
)
{
    UB8 bChar;


    bChar = bValue / 16;
    if (bChar <= 9)
        OSD_ShowChar(bWindow, bCol, bRow, '0' + bChar);
    else
        OSD_ShowChar(bWindow, bCol, bRow, 'A' + bChar - 10);

    bChar = bValue % 16;
    if (bChar <= 9)
        OSD_ShowChar(bWindow, bCol+1, bRow, '0' + bChar);
    else
        OSD_ShowChar(bWindow, bCol+1, bRow, 'A' + bChar - 10);
} /* OSD_ShowHex */
#endif


/* -------------------------------------------------------------------
    Name: OSD_ShowMsg - (OSD_BIT1611B)
    Purpose: To show a message string with zero at specified position in OSD window.
    Passed:
        UB8 bWindow     = OSD Window Identifier.
        UB8 bCol        = Horizontal position in columns (0..OSD_WINDOW_WIDTH - 1).
        UB8 bRow        = Vertical position in rows (0..OSD_WINDOW_HEIGHT - 1).
        UB8 abMsg[]     = The displayed message string.
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void OSD_ShowMsg (
UB8     bWindow,
UB8     bCol,
UB8     bRow,
UB8     abMsg[]
)
{
    UW16    wAddr;
    UB8     bIdx;


    wAddr = OSD_DisplayAddress(bWindow, bRow, bCol);

    for (bIdx = 0; abMsg[ bIdx ]; bIdx++)
    {
        BITEK_TxByte(OSD_MAD, wAddr + bIdx, abMsg[ bIdx ]);
    } /* for */
} /* OSD_ShowMsg */


#if (OSD_SHOW_VALUE)
/* -------------------------------------------------------------------
    Name: OSD_ShowValue - (OSD_BIT1611B)
    Purpose: To show a specified width value at specified position in OSD window.
    Passed:
        UB8     bWindow     = OSD Window Identifier.
        UB8     bCol,       = Horizontal position in columns.
        UB8     bRow,       = Vertical position in rows.
        UW16    wValue      = The displayed value.
        UB8     bWidth      = The displayed width.
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void OSD_ShowValue (
UB8     bWindow,
UB8     bCol,
UB8     bRow,
UW16    wValue,
UB8     bWidth
)
{
    UB8 bChar;
    UB8 bIdx;


    for (bIdx = bWidth; bIdx; bIdx--)
    {
        bChar = wValue % 10;
        wValue /= 10;

        if ((wValue == 0)   &&
            (bChar == 0)        )
        {
            if (bIdx == bWidth)
                OSD_ShowChar(bWindow, bCol + bIdx - 1, bRow, '0');
            else
                OSD_ShowChar(bWindow, bCol + bIdx - 1, bRow, ' ');
        }
        else
            OSD_ShowChar(bWindow, bCol + bIdx - 1, bRow, bChar + '0');
    }

} /* OSD_ShowValue */
#endif



/* -------------------------------------------------------------------
    Name:  -
    Purpose: .
    Passed: None.
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */


/* **********************************************************************

    Description:


   ********************************************************************** */

/* %% End Of File %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 日本一区二区在线不卡| 成人开心网精品视频| 亚洲国产你懂的| 国产精品乱人伦| 日韩精品一区二区三区老鸭窝| 99国产麻豆精品| 国产一区二区视频在线播放| 亚洲伊人伊色伊影伊综合网| 国产日韩av一区| 日韩精品一区二区三区在线观看| 97久久超碰国产精品| 国产一区三区三区| 日本女人一区二区三区| 亚洲男人的天堂一区二区| 国产亚洲精品bt天堂精选| 日韩一级高清毛片| 欧美亚洲自拍偷拍| 91丨九色丨国产丨porny| 国产专区欧美精品| 美美哒免费高清在线观看视频一区二区 | 波多野结衣中文字幕一区二区三区| 日本强好片久久久久久aaa| 亚洲女同女同女同女同女同69| 国产三级精品三级在线专区| 制服.丝袜.亚洲.中文.综合| 欧美制服丝袜第一页| 91片在线免费观看| 99re这里只有精品视频首页| 国产裸体歌舞团一区二区| 日本一区中文字幕| 青青青爽久久午夜综合久久午夜| 一区二区激情小说| 一区二区三区不卡视频| 国产成人精品亚洲日本在线桃色 | 国产成人自拍高清视频在线免费播放 | 亚洲国产高清aⅴ视频| 日韩欧美国产综合在线一区二区三区| 欧美日韩一区二区三区免费看| 欧美主播一区二区三区| 在线观看网站黄不卡| 91精彩视频在线观看| 一本到高清视频免费精品| 99精品1区2区| 欧洲在线/亚洲| 欧美写真视频网站| 欧美在线观看18| 欧美日韩国产首页| 91麻豆精品国产91久久久久久| 在线播放视频一区| 欧美一区午夜视频在线观看| 欧美精品久久一区| 欧美一二三区在线| 精品国产乱码久久| 国产日韩精品一区二区三区| 日本一区二区电影| 亚洲免费观看高清在线观看| 亚洲综合免费观看高清完整版在线 | 老司机精品视频导航| 亚欧色一区w666天堂| 日韩综合小视频| 久久精品国产亚洲5555| 国内成+人亚洲+欧美+综合在线| 国产精品一级在线| 91蜜桃传媒精品久久久一区二区| 欧美最猛性xxxxx直播| 欧美精品久久天天躁| 精品欧美一区二区三区精品久久| 国产亚洲福利社区一区| 亚洲天堂2014| 日韩av在线免费观看不卡| 精品在线一区二区三区| 成人av资源网站| 欧美日韩激情一区| 久久综合精品国产一区二区三区| 国产欧美日韩在线| 亚洲综合免费观看高清完整版在线| 日韩制服丝袜av| 国产成a人亚洲精品| 91久久精品一区二区三区| 日韩视频国产视频| 综合久久久久综合| 美女尤物国产一区| 99在线精品视频| 日韩欧美综合一区| 136国产福利精品导航| 亚洲18女电影在线观看| 久久只精品国产| 亚洲欧美另类综合偷拍| 久久99最新地址| 色天使色偷偷av一区二区 | 国产精品污污网站在线观看| 亚洲一区二区在线视频| 国产成人在线色| 欧美乱熟臀69xxxxxx| 国产亚洲成年网址在线观看| 水野朝阳av一区二区三区| 成人短视频下载| 日韩精品一区二区三区在线播放| 亚洲三级免费电影| 国产乱子轮精品视频| 欧美日韩日本视频| 国产精品久久久久影院| 精品一区二区三区不卡 | 国产乱国产乱300精品| 欧美日韩精品二区第二页| 国产精品久久久久一区| 免费成人在线视频观看| 91福利区一区二区三区| 国产欧美日本一区视频| 精品亚洲成a人在线观看| 欧美日韩国产美女| 亚洲女同ⅹxx女同tv| 粉嫩av一区二区三区| 日韩欧美综合在线| 五月婷婷色综合| 日本韩国欧美国产| 日韩美女视频19| 成人精品高清在线| 国产三级精品视频| 国产一区不卡在线| 26uuu精品一区二区| 琪琪一区二区三区| 欧美一区二区三区在线| 亚洲国产美国国产综合一区二区| 91亚洲精品乱码久久久久久蜜桃| 日本一二三不卡| 国产成人高清在线| 国产欧美综合在线| 国产.精品.日韩.另类.中文.在线.播放| 日韩一区二区精品葵司在线 | 成人性生交大合| 国产亚洲制服色| 欧美成人午夜电影| 老司机午夜精品| 欧美电影免费观看高清完整版在线| 视频一区视频二区在线观看| 欧美三电影在线| 性久久久久久久| 欧美精品久久天天躁| 日韩国产一二三区| 日韩午夜激情电影| 狠狠色狠狠色综合日日91app| 日韩欧美中文字幕一区| 精品一区二区三区香蕉蜜桃 | 欧美人与z0zoxxxx视频| 婷婷国产v国产偷v亚洲高清| 欧美日本在线播放| 日本不卡一区二区三区| 日韩欧美国产1| 国产综合色在线视频区| 久久久国产综合精品女国产盗摄| 国产乱码精品一品二品| 中文字幕中文字幕一区二区| 一本一本大道香蕉久在线精品 | 欧美α欧美αv大片| 激情成人综合网| 国产女人18毛片水真多成人如厕| 成人免费观看av| 亚洲免费在线视频一区 二区| 91激情在线视频| 日本女人一区二区三区| 久久亚洲影视婷婷| av不卡在线播放| 亚洲与欧洲av电影| 日韩一二在线观看| 国产suv精品一区二区三区| 亚洲免费观看在线观看| 在线播放91灌醉迷j高跟美女| 久久国产综合精品| 国产精品99久久久久久有的能看| 国产精品伦一区二区三级视频| 日本韩国欧美三级| 激情欧美一区二区| 亚洲精品国久久99热| 在线观看91av| 丰满少妇久久久久久久| 亚洲一区二区在线免费看| 久久蜜桃一区二区| 色狠狠色噜噜噜综合网| 精品一区免费av| 亚洲综合免费观看高清完整版在线 | 日韩av电影天堂| 中文字幕免费一区| 精品视频免费看| 国产精品1024| 性久久久久久久| 中文久久乱码一区二区| 欧美人妖巨大在线| 北岛玲一区二区三区四区| 天天综合色天天综合| 中文字幕制服丝袜成人av| 日韩一区二区三区视频在线观看 | 国产精品资源站在线| 亚洲高清免费视频| 欧美国产综合色视频| 欧美一区三区四区| 日本精品视频一区二区三区| 国产麻豆精品视频| 日韩高清在线观看|