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

📄 pa8204.lst

📁 一个LCD TV的源程序, 用的是realtek的IC
💻 LST
📖 第 1 页 / 共 2 页
字号:
 191              Notes   : None
 192             ================================================================ */
 193          
 194          void Set_Video_Timing(Byte byMode)
 195          {
 196   1          // Enable interrupt ALL
 197   1          EA                                              =   0;
 198   1      
 199   1          //Select Video Source to Setup FRC,Memory,Clock etc..
 200   1          switch (byMode)
 201   1          {
 202   2              // NTSC Video --> 3230
 203   2              case _NTSC:
*** ERROR C202 IN LINE 203 OF PA8204.C: '_NTSC': undefined identifier
 204   2                  // Switch to Video 3230 Path
 205   2                  I2CWrtCNByte(HX8824_ADDR, &HX8824_Input_Format[1][0], HX8824_MAIN_INP_FORMAT, 6);
*** ERROR C202 IN LINE 205 OF PA8204.C: 'HX8824_Input_Format': undefined identifier
C51 COMPILER V7.07   PA8204                                                                05/03/2006 14:00:57 PAGE 5   

 206   2                  break;
 207   2      
 208   2              // PAL/SECAM Video --> 3230
 209   2              case _PAL:
*** ERROR C202 IN LINE 209 OF PA8204.C: '_PAL': undefined identifier
 210   2                  // Switch to Video 3230 Path, ODD is different with NTSC
 211   2                  I2CWrtCNByte(HX8824_ADDR, &HX8824_Input_Format[7][0], HX8824_MAIN_INP_FORMAT, 6);
*** ERROR C202 IN LINE 211 OF PA8204.C: 'HX8824_Input_Format': undefined identifier
 212   2                  break;
 213   2      
 214   2              // VGA --> AD9883
 215   2              case _VGA:
*** ERROR C202 IN LINE 215 OF PA8204.C: '_VGA': undefined identifier
 216   2                  I2CWrtCNByte(HX8824_ADDR, &HX8824_Input_Format[0][0], HX8824_MAIN_INP_FORMAT, 6);
*** ERROR C202 IN LINE 216 OF PA8204.C: 'HX8824_Input_Format': undefined identifier
 217   2                  break;
 218   2      
 219   2              // 480i --> AD9883
 220   2              case _480i:
*** ERROR C202 IN LINE 220 OF PA8204.C: '_480i': undefined identifier
 221   2                  // Main Channel + Sub Select
 222   2                  // Choice HX8824_Input_Format[7] & HX8824_Input_Format[8] Reason:
 223   2                  // Solving Continued INT-Request from G3
 224   2                  I2CWrtCNByte(HX8824_ADDR, &HX8824_Input_Format[7][0], HX8824_MAIN_INP_FORMAT, 6);
*** ERROR C202 IN LINE 224 OF PA8204.C: 'HX8824_Input_Format': undefined identifier
 225   2                  break;
 226   2      
 227   2              // 1080i --> AD9883
 228   2              // 480p --> AD9883
 229   2              case _1080i:
*** ERROR C202 IN LINE 229 OF PA8204.C: '_1080i': undefined identifier
 230   2              case _480p:
*** ERROR C202 IN LINE 230 OF PA8204.C: '_480p': undefined identifier
 231   2                  // Main Channel + Sub Select
 232   2                  I2CWrtCNByte(HX8824_ADDR, &HX8824_Input_Format[4][0], HX8824_MAIN_INP_FORMAT, 6);
*** ERROR C202 IN LINE 232 OF PA8204.C: 'HX8824_Input_Format': undefined identifier
 233   2                  break;
 234   2          }
 235   1      
 236   1              // Setup Output/Memory
 237   1              // I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[byMode][0], HX8824_DSP_PLL, 3);
 238   1              I2CWrite3Byte(HX8824_ADDR,HX8824_DSP_PLL,0x41,0x9B,0x10);
*** ERROR C202 IN LINE 238 OF PA8204.C: 'HX8824_DSP_PLL': undefined identifier
 239   1      
 240   1          // Setup Input Timing: Horizontal Vertical
 241   1              I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[byMode][3], HX8824_MAIN_INP_HSTART, 4);
*** ERROR C202 IN LINE 241 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
 242   1              I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[byMode][7],HX8824_MAIN_INP_VSTART, 4);
*** ERROR C202 IN LINE 242 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
 243   1      
 244   1          // Horizontal Ratio
 245   1          I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[byMode][15],HX8824_SCALE_RATIO, 2);                   // Set H-Scaling R
             -atio        // FF , 1F
*** ERROR C202 IN LINE 245 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
 246   1              I2CWriteByte(HX8824_ADDR, HX8824_SCALE_RATIO + 2,0xFF);
*** ERROR C202 IN LINE 246 OF PA8204.C: 'HX8824_SCALE_RATIO': undefined identifier
 247   1              I2CWriteByte(HX8824_ADDR, HX8824_SCALE_RATIO + 3,0x1F);
*** ERROR C202 IN LINE 247 OF PA8204.C: 'HX8824_SCALE_RATIO': undefined identifier
 248   1      
 249   1          // Vertical Ratio
 250   1              I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[byMode][17],HX8824_SCALE_RATIO, 2);                       // Set V-Scaling Rati
             -o
C51 COMPILER V7.07   PA8204                                                                05/03/2006 14:00:57 PAGE 6   

*** ERROR C202 IN LINE 250 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
 251   1              I2CWriteByte(HX8824_ADDR, HX8824_SCALE_RATIO + 2,0xFF);
*** ERROR C202 IN LINE 251 OF PA8204.C: 'HX8824_SCALE_RATIO': undefined identifier
 252   1              I2CWriteByte(HX8824_ADDR, HX8824_SCALE_RATIO + 3,0x0F);
*** ERROR C202 IN LINE 252 OF PA8204.C: 'HX8824_SCALE_RATIO': undefined identifier
 253   1      
 254   1          // Output Reset
 255   1              I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[byMode][19],HX8824_DSP_RESET, 3);
*** ERROR C202 IN LINE 255 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
 256   1      
 257   1          // PreScaling Process
 258   1          switch (byMode)
 259   1          {
 260   2                      case _NTSC:
*** ERROR C202 IN LINE 260 OF PA8204.C: '_NTSC': undefined identifier
 261   2              case _PAL:
*** ERROR C202 IN LINE 261 OF PA8204.C: '_PAL': undefined identifier
 262   2              case _VGA:
*** ERROR C202 IN LINE 262 OF PA8204.C: '_VGA': undefined identifier
 263   2              case _480i:
*** ERROR C202 IN LINE 263 OF PA8204.C: '_480i': undefined identifier
 264   2              case _480p:
*** ERROR C202 IN LINE 264 OF PA8204.C: '_480p': undefined identifier
 265   2                  // Prescaling Setup
 266   2                      I2CWriteByte(HX8824_ADDR, HX8824_PreSCALE_HRat, 0x00);
*** ERROR C202 IN LINE 266 OF PA8204.C: 'HX8824_PreSCALE_HRat': undefined identifier
 267   2                  I2CWriteByte(HX8824_ADDR, HX8824_PreSCALE_HRat+1,0x10);
*** ERROR C202 IN LINE 267 OF PA8204.C: 'HX8824_PreSCALE_HRat': undefined identifier
 268   2                  break;
 269   2      
 270   2              case _1080i:
*** ERROR C202 IN LINE 270 OF PA8204.C: '_1080i': undefined identifier
 271   2                  // Prescaling Setup
 272   2                      I2CWriteByte(HX8824_ADDR, HX8824_PreSCALE_HRat, 0x00);
*** ERROR C202 IN LINE 272 OF PA8204.C: 'HX8824_PreSCALE_HRat': undefined identifier
 273   2                  I2CWriteByte(HX8824_ADDR, HX8824_PreSCALE_HRat+1,0x18);
*** ERROR C202 IN LINE 273 OF PA8204.C: 'HX8824_PreSCALE_HRat': undefined identifier
 274   2                  // Horizontal Ratio Reset
 275   2                  I2CWrite2Byte(HX8824_ADDR, HX8824_SCALE_RATIO, 0xFD,0x0E);
*** ERROR C202 IN LINE 275 OF PA8204.C: 'HX8824_SCALE_RATIO': undefined identifier
 276   2                  I2CWrite2Byte(HX8824_ADDR, HX8824_SCALE_RATIO+2,0xFF,0x1F);
*** ERROR C202 IN LINE 276 OF PA8204.C: 'HX8824_SCALE_RATIO': undefined identifier
 277   2                  break;
 278   2          }
 279   1      
 280   1          // Enable interrupt ALL
 281   1          EA                                              =   1;
 282   1      }
 283          
 284          
 285          /* ================================================================
 286              Name    : InitAutoFunction
 287              Purpose : Setup Default Gain/Offset to AD9883 VGA
 288                        different input timing
 289              Passed  : None
 290              Notes   : None
 291             ================================================================ */
 292          
 293          void InitAutoFunction(void)
 294          {
 295   1              Byte  RGB[6] = {  DEFAULT_AA_GAIN,DEFAULT_AA_GAIN,DEFAULT_AA_GAIN,
*** ERROR C202 IN LINE 295 OF PA8204.C: 'DEFAULT_AA_GAIN': undefined identifier
C51 COMPILER V7.07   PA8204                                                                05/03/2006 14:00:57 PAGE 7   

*** ERROR C202 IN LINE 295 OF PA8204.C: 'DEFAULT_AA_GAIN': undefined identifier
*** ERROR C202 IN LINE 295 OF PA8204.C: 'DEFAULT_AA_GAIN': undefined identifier
 296   1                            DEFAULT_AA_OFF, DEFAULT_AA_OFF, DEFAULT_AA_OFF };
*** ERROR C202 IN LINE 296 OF PA8204.C: 'DEFAULT_AA_OFF': undefined identifier
*** ERROR C202 IN LINE 296 OF PA8204.C: 'DEFAULT_AA_OFF': undefined identifier
*** ERROR C202 IN LINE 296 OF PA8204.C: 'DEFAULT_AA_OFF': undefined identifier
 297   1      
 298   1              Set_ADC_VGA_GainOff(RGB);
 299   1      }
 300          
 301          
 302          /* ================================================================
 303              Name    : SetAutoClock
 304              Purpose : Tuning AD9883's PLL equal [Input Horizontal total]
 305              Passed  : None
 306              Notes   : None
 307             ================================================================ */
 308          
 309          void SetAutoClock(Byte byIdx)
 310          {
 311   1              Word                  temp0;
 312   1              Word                  wH_Total;
 313   1              ENUM_AutoClockState   byIncDecState=INITIAL;
 314   1      
 315   1              wH_Total = (Word)((ADC_VGA_Tbl[0][0]<<8) |(ADC_VGA_Tbl[0][1]));
 316   1              wInpHSize=HX8824_Video_Input[3][5] + (HX8824_Video_Input[3][6])*256;
 317   1      
 318   1              I2CWriteByte(AD9883_ADR_VGA, 1, HIBYTE(wH_Total));
 319   1              I2CWriteByte(AD9883_ADR_VGA, 2, LOBYTE(wH_Total));
 320   1              temp0 = (wH_Total / 0x10) + 1;
 321   1          Puts_UART("AD9883 temp0="),HexTobyStr((Byte)temp0),Puts_UART(byStr),Puts_UART("\r\n");
 322   1      
 323   1              // Read back H-active area size
 324   1              StartAutoBlock(byIdx, AUTO_POS);
 325   1              temp0 = GetAutoPos(byIdx, H_SIZE);
 326   1      
 327   1          Puts_UART("Before Auto temp0="),HexTobyStr((Byte)temp0),Puts_UART(byStr),Puts_UART("\r\n");
 328   1      
 329   1              // Check if the deviation is within reasonable range?
 330   1              if ( ( temp0 < (wInpHSize+16) ) && ( temp0 > (wInpHSize-16) ) )
 331   1              {
 332   2              while ( ( temp0 != wInpHSize ) && ( (byIncDecState&BOTH) != BOTH ) )
 333   2              {
 334   3                      if(temp0>wInpHSize)
 335   3                      {
 336   4                              wH_Total -= 0x20;
 337   4                              if (byIncDecState&INC) // Inc before?
 338   4                              {
 339   5                                      byIncDecState|=BOTH;
 340   5                              }
 341   4                              else
 342   4                              {
 343   5                                      byIncDecState|=DEC;
 344   5                              }
 345   4                      }
 346   3                      if(temp0<wInpHSize)
 347   3                      {
 348   4                              wH_Total += 0x20;
 349   4                              if (byIncDecState&DEC) // Dec before?
 350   4                              {
 351   5                                      byIncDecState|=BOTH;
 352   5                              }
C51 COMPILER V7.07   PA8204                                                                05/03/2006 14:00:57 PAGE 8   

 353   4                              else
 354   4                              {
 355   5                                      byIncDecState|=INC;
 356   5                              }
 357   4                      }
 358   3      
 359   3                      // Set new PLL_divider
 360   3                      I2CWriteByte(AD9883_ADR_VGA, 1, HIBYTE(wH_Total));
 361   3                      I2CWriteByte(AD9883_ADR_VGA, 2, LOBYTE(wH_Total));
 362   3                              temp0 = (wH_Total / 0x10) + 1;
 363   3      
 364   3                      // Read back H-active area size
 365   3                      StartAutoBlock(byIdx, AUTO_POS);
 366   3                      temp0 = GetAutoPos(byIdx, H_SIZE);
 367   3              }
 368   2              }
 369   1              else
 370   1              {
 371   2                     Puts_UART("H-Size is out of range.  Use default value.\r\n");
 372   2              }
 373   1              temp0 = (wH_Total / 0x10) + 1;
 374   1          Puts_UART("After Auto temp0="),HexTobyStr((Byte)temp0),Puts_UART(byStr),Puts_UART("\r\n");
 375   1      
 376   1      }
 377          
 378          /* ================================================================
 379              Name    : StartAutoBlock
 380              Purpose : 

⌨️ 快捷键说明

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