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

📄 osd.lst

📁 Bitek 公司 bit1611b模拟屏驱动芯片外接MCU驱动DEMO源码
💻 LST
📖 第 1 页 / 共 3 页
字号:
 256                  BOOL    fOn = Enable (TRUE) or Disable (FALSE).
 257              Returns: None.
 258              Notes: [1]118
 259             ------------------------------------------------------------------- */
 260          void OSD_EnableWindow (
 261          UB8     bWindow,
 262          BOOL    fOn
 263          )
 264          {
 265   1          UB8 bData;
 266   1      
 267   1      
 268   1          if (bWindow & OSD_WINDOW1)
 269   1          {
 270   2              ////////////////////////////////////////////////////////
 271   2              // [JC010] OSD Image Retention issue fixed by JC 09:15AM  2006/04/25
 272   2              #ifdef NOT_JUNK
                      bData = BITEK_RxByte(OSD_MAD, VP_143_OSD1_ATTR4);
              
                      if ( fOn )
                          bData |= VP_MASK_OSD1_EN;
                      else
                          bData &= (~VP_MASK_OSD1_EN);
              
                      BITEK_TxByte(OSD_MAD, VP_143_OSD1_ATTR4, bData);
                      #endif
 282   2      
 283   2              bData = BITEK_RxByte(OSD_MAD, VP_13A_OSD1_POSITION_MSB);
 284   2      
 285   2              if ( fOn )
 286   2                  bData &= (~VP_MASK_H_POSITION_OFF);
 287   2              else
 288   2                  bData |= VP_MASK_H_POSITION_OFF;
 289   2      
 290   2              BITEK_TxByte(OSD_MAD, VP_13A_OSD1_POSITION_MSB, bData);
 291   2              ////////////////////////////////////////////////////////
 292   2          }
 293   1      
 294   1          if (bWindow & OSD_WINDOW2)
 295   1          {
 296   2              bData = BITEK_RxByte(OSD_MAD, VP_151_OSD2_ATTR4);
 297   2      
 298   2              if ( fOn )
 299   2                  bData |= VP_MASK_OSD2_EN;
 300   2              else
 301   2                  bData &= (~VP_MASK_OSD2_EN);
 302   2      
C51 COMPILER V7.50   OSD                                                                   02/05/2007 16:33:25 PAGE 6   

 303   2              BITEK_TxByte(OSD_MAD, VP_151_OSD2_ATTR4, bData);
 304   2          }
 305   1      
 306   1          if (bWindow & OSD_WINDOW3)
 307   1          {
 308   2              bData = BITEK_RxByte(OSD_MAD, VP_15F_OSD3_ATTR4);
 309   2      
 310   2              if ( fOn )
 311   2                  bData |= VP_MASK_OSD3_EN;
 312   2              else
 313   2                  bData &= (~VP_MASK_OSD3_EN);
 314   2      
 315   2              BITEK_TxByte(OSD_MAD, VP_15F_OSD3_ATTR4, bData);
 316   2          }
 317   1      } /* OSD_EnableWindow */
 318          
 319          
 320          
 321          /* -------------------------------------------------------------------
 322              Name: OSD_FillCharAttr - (OSD_BIT1611B)
 323              Purpose:
 324                  To fill OSD display RAM with the same character attribute.
 325          
 326              Passed:
 327                  bOffset = The character attribute start location.
 328                  bCnt = The number of filled characters (1..255).
 329                  bCharAttr =  The same character attribute.
 330              Returns: None.
 331              Notes:
 332             ------------------------------------------------------------------- */
 333          void OSD_FillCharAttr (
 334          UB8     bOffset,
 335          UB8     bCnt,           // 1..255
 336          UB8     bCharAttr       // Char Attribute
 337          )
 338          {
 339   1          BITEK_TxRepeat(OSD_MAD, VP_0580_05FF_DISPLAY_ATTR + bOffset, bCnt, bCharAttr);
 340   1      } /* OSD_FillCharAttr */
 341          
 342          
 343          /* -------------------------------------------------------------------
 344              Name: OSD_FillCharCode - (OSD_BIT1611B)
 345              Purpose:
 346                  To fill OSD display RAM with the same character code.
 347          
 348              Passed:
 349                  bOffset = The character code start location.
 350                  bCnt = The number of filled characters (1..255).
 351                  bCharCode = The same character code.
 352              Returns: None.
 353              Notes:
 354             ------------------------------------------------------------------- */
 355          void OSD_FillCharCode (
 356          UB8     bOffset,
 357          UB8     bCnt,           // 1..255
 358          UB8     bCharCode       // Character Code
 359          )
 360          {
 361   1          BITEK_TxRepeat(OSD_MAD, VP_0500_057F_DISPLAY_CODE + bOffset, bCnt, bCharCode);
 362   1      } /* OSD_FillCharCode */
 363          
 364          
C51 COMPILER V7.50   OSD                                                                   02/05/2007 16:33:25 PAGE 7   

 365          /* -------------------------------------------------------------------
 366              Name: OSD_FillCharCodeAttr - (OSD_BIT1611B)
 367              Purpose:
 368                  To fill OSD display RAM with the same character code and attribute.
 369          
 370              Passed:
 371                  bOffset = The character start location.
 372                  bCnt = The number of filled characters (1..255).
 373                  bCharCode = The same character code.
 374                  bCharAttr = The same character attribute.
 375                              5 4 3 2 1 0
 376                              | | | |_|_|_ Foregound Attribute Index (0..7)
 377                              |_|_|_______ Backgound Attribute Index (0..7)
 378              Returns: None.
 379              Notes:
 380             ------------------------------------------------------------------- */
 381          void OSD_FillCharCodeAttr (
 382          UB8     bOffset,
 383          UB8     bCnt,           // 1..255
 384          UB8     bCharCode,      // Char Code
 385          UB8     bCharAttr       // Char Attribute
 386          )
 387          {
 388   1          BITEK_TxRepeat(OSD_MAD, VP_0500_057F_DISPLAY_CODE + bOffset, bCnt, bCharCode);
 389   1          BITEK_TxRepeat(OSD_MAD, VP_0580_05FF_DISPLAY_ATTR + bOffset, bCnt, bCharAttr);
 390   1      } /* OSD_FillCharCodeAttr */
 391          
 392          
 393          /* -------------------------------------------------------------------
 394              Name: OSD_Init - (OSD_BIT1611B)
 395              Purpose: To initialize OSD module.
 396              Passed: None.
 397              Returns: None.
 398              Notes:
 399             ------------------------------------------------------------------- */
 400          void OSD_Init (void)
 401          {
 402   1          // [1]116 Setup Palette for Background and Foregound !
 403   1          BITEK_TxBurst(OSD_MAD, VP_0600_063F_PALETTE, sizeof(abOSD_Palette), abOSD_Palette);
 404   1      
 405   1      
 406   1          /* ####################################
 407   1              Windows 1
 408   1             #################################### */
 409   1          OSD_FillCharCodeAttr(OSD_WINDOW1_BASE,
 410   1                               OSD_WINDOW1_AREA,
 411   1                               ' ',
 412   1                               OSD1_COLOR_HILIGHT);
 413   1      
 414   1          // To normal row #0 of Window 1
 415   1          OSD_FillCharAttr(OSD_WINDOW1_BASE,
 416   1                           OSD_WINDOW1_WIDTH,
 417   1                           OSD1_COLOR_NORMAL      );
 418   1      
 419   1      
 420   1          // [1]118 OSD1 Display RAM Start Index
 421   1          BITEK_TxByte(OSD_MAD, VP_13D_OSD1_RAM_INDEX, OSD_WINDOW1_BASE);
 422   1      
 423   1          // [1]118 OSD1 OSD Fade Level
 424   1          BITEK_TxByte(OSD_MAD, VP_13E_OSD1_FADE_LEVEL, OSD1_FADE_LEVEL);
 425   1      
 426   1          // [1]118 OSD1 OSD BORDER
C51 COMPILER V7.50   OSD                                                                   02/05/2007 16:33:25 PAGE 8   

 427   1          BITEK_TxByte(OSD_MAD, VP_13F_OSD1_BORDER_SEL, OSD1_BORDER);
 428   1      
 429   1          // [1]118 OSD1 OSD BORDER Attr
 430   1          BITEK_TxByte(OSD_MAD, VP_140_OSD1_ATTR1, OSD1_BORDER_ATTR);
 431   1      
 432   1          // [1]118 OSD1 Attribute 1
 433   1          BITEK_TxByte(OSD_MAD, VP_141_OSD1_ATTR2, OSD1_CHAR_SIZE);
 434   1      
 435   1          // [1]118 OSD1 Attribute 2
 436   1      
 437   1          ////////////////////////////////////////////////////////
 438   1          // [JC010] OSD Image Retention issue fixed by JC 09:15AM  2006/04/25
 439   1          //BITEK_TxByte(OSD_MAD, VP_143_OSD1_ATTR4, OSD1_LINE_BLINK);
 440   1          BITEK_TxByte(OSD_MAD, VP_143_OSD1_ATTR4, OSD1_LINE_BLINK | VP_MASK_OSD1_EN);
 441   1          ////////////////////////////////////////////////////////
 442   1      
 443   1          OSD_SetWindow(OSD_WINDOW1,
 444   1                        OSD_WINDOW1_H,                // in clocks
 445   1                        OSD_WINDOW1_V,                // in horizontal lines
 446   1                        OSD_WINDOW1_WIDTH,            // in characters
 447   1                        OSD_WINDOW1_HEIGHT    );      // in rows
 448   1      
 449   1      
 450   1          /* ####################################
 451   1              Windows 2
 452   1             #################################### */
 453   1          OSD_FillCharCodeAttr(OSD_WINDOW2_BASE,
 454   1                               OSD_WINDOW2_AREA,
 455   1                               ' ',
 456   1                               OSD2_COLOR_NORMAL);
 457   1      
 458   1          // [1]119 OSD2 Display RAM Start Index
 459   1          BITEK_TxByte(OSD_MAD, VP_14B_OSD2_RAM_INDEX, OSD_WINDOW2_BASE);
 460   1      
 461   1          // [1]119 OSD2 OSD Fade Level
 462   1          BITEK_TxByte(OSD_MAD, VP_14C_OSD2_FADE_LEVEL, OSD2_FADE_LEVEL);
 463   1      
 464   1          // [1]119 OSD2 OSD BORDER
 465   1          BITEK_TxByte(OSD_MAD, VP_14D_OSD2_BORDER_SEL, OSD2_BORDER);
 466   1      
 467   1          // [1]119 OSD2 OSD BORDER Attr
 468   1          BITEK_TxByte(OSD_MAD, VP_14E_OSD2_ATTR1, OSD2_BORDER_ATTR);
 469   1      
 470   1      
 471   1          // [1]119 OSD2 Attribute 1
 472   1          BITEK_TxByte(OSD_MAD, VP_14F_OSD2_ATTR2, OSD2_CHAR_SIZE);
 473   1      
 474   1          // [1]119 OSD2 Attribute 2
 475   1          BITEK_TxByte(OSD_MAD, VP_151_OSD2_ATTR4, OSD2_LINE_BLINK);
 476   1      
 477   1          OSD_SetWindow(OSD_WINDOW2,
 478   1                        OSD_WINDOW2_H,                // in clocks
 479   1                        OSD_WINDOW2_V,                // in horizontal lines
 480   1                        OSD_WINDOW2_WIDTH,            // in characters
 481   1                        OSD_WINDOW2_HEIGHT    );      // in rows
 482   1      
 483   1      
 484   1          /* ####################################
 485   1              Windows 3
 486   1             #################################### */
 487   1          OSD_FillCharCodeAttr(OSD_WINDOW3_BASE,
 488   1                               OSD_WINDOW3_AREA,
C51 COMPILER V7.50   OSD                                                                   02/05/2007 16:33:25 PAGE 9   

 489   1                               ' ',
 490   1                               OSD3_COLOR_NORMAL      );
 491   1      
 492   1          // To HILIGHT row #0 of Window 3
 493   1          OSD_FillCharAttr(OSD_WINDOW3_BASE,
 494   1                           OSD_WINDOW3_WIDTH,
 495   1                           OSD3_COLOR_HILIGHT         );
 496   1      
 497   1          #if (MENU_STYLE_CFG == MENU_STYLE_SCROLLING_3)
                  // Nothing
              
                  #else
 501   1          // ICON of Window 3
 502   1          OSD_FillCharAttr(OSD_WINDOW3_BASE + OSD_X_ICON,
 503   1                           1,
 504   1                           OSD3_COLOR_ICON                );
 505   1          #endif
 506   1      
 507   1          // [1]120 OSD3 Display RAM Start Index
 508   1          BITEK_TxByte(OSD_MAD, VP_159_OSD3_RAM_INDEX, OSD_WINDOW3_BASE);
 509   1      
 510   1          // [1]120 OSD3 OSD Fade Level
 511   1          BITEK_TxByte(OSD_MAD, VP_15A_OSD3_FADE_LEVEL, OSD3_FADE_LEVEL);
 512   1      
 513   1          // [1]120 OSD3 OSD BORDER
 514   1          BITEK_TxByte(OSD_MAD, VP_15B_OSD3_BORDER_SEL, OSD3_BORDER);
 515   1      
 516   1          // [1]120 OSD3 OSD BORDER Attr
 517   1          BITEK_TxByte(OSD_MAD, VP_15C_OSD3_ATTR1, OSD3_BORDER_ATTR);
 518   1      
 519   1      
 520   1          // [1]120 OSD3 Attribute 1

⌨️ 快捷键说明

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