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

📄 viddiv.h

📁 wince.net板级支持包BSP for EP9315
💻 H
📖 第 1 页 / 共 2 页
字号:
    { 378, VIDDIV_PDIV_3  | ( 63 & VIDDIV_VDIV_MASK) },
    { 380, VIDDIV_PDIV_25 | ( 76 & VIDDIV_VDIV_MASK) },
    { 384, VIDDIV_PDIV_3  | ( 64 & VIDDIV_VDIV_MASK) },
    { 385, VIDDIV_PDIV_25 | ( 77 & VIDDIV_VDIV_MASK) },
    { 388, VIDDIV_PDIV_2  | ( 97 & VIDDIV_VDIV_MASK) },
    { 390, VIDDIV_PDIV_3  | ( 65 & VIDDIV_VDIV_MASK) },
    { 392, VIDDIV_PDIV_2  | ( 98 & VIDDIV_VDIV_MASK) },
    { 395, VIDDIV_PDIV_25 | ( 79 & VIDDIV_VDIV_MASK) },
    { 396, VIDDIV_PDIV_3  | ( 66 & VIDDIV_VDIV_MASK) },
    { 400, VIDDIV_PDIV_25 | ( 80 & VIDDIV_VDIV_MASK) },
    { 402, VIDDIV_PDIV_3  | ( 67 & VIDDIV_VDIV_MASK) },
    { 404, VIDDIV_PDIV_2  | (101 & VIDDIV_VDIV_MASK) },
    { 405, VIDDIV_PDIV_25 | ( 81 & VIDDIV_VDIV_MASK) },
    { 408, VIDDIV_PDIV_3  | ( 68 & VIDDIV_VDIV_MASK) },
    { 410, VIDDIV_PDIV_25 | ( 82 & VIDDIV_VDIV_MASK) },
    { 412, VIDDIV_PDIV_2  | (103 & VIDDIV_VDIV_MASK) },
    { 414, VIDDIV_PDIV_3  | ( 69 & VIDDIV_VDIV_MASK) },
    { 415, VIDDIV_PDIV_25 | ( 83 & VIDDIV_VDIV_MASK) },
    { 416, VIDDIV_PDIV_2  | (104 & VIDDIV_VDIV_MASK) },
    { 420, VIDDIV_PDIV_3  | ( 70 & VIDDIV_VDIV_MASK) },
    { 424, VIDDIV_PDIV_2  | (106 & VIDDIV_VDIV_MASK) },
    { 425, VIDDIV_PDIV_25 | ( 85 & VIDDIV_VDIV_MASK) },
    { 426, VIDDIV_PDIV_3  | ( 71 & VIDDIV_VDIV_MASK) },
    { 428, VIDDIV_PDIV_2  | (107 & VIDDIV_VDIV_MASK) },
    { 430, VIDDIV_PDIV_25 | ( 86 & VIDDIV_VDIV_MASK) },
    { 432, VIDDIV_PDIV_3  | ( 72 & VIDDIV_VDIV_MASK) },
    { 435, VIDDIV_PDIV_25 | ( 87 & VIDDIV_VDIV_MASK) },
    { 436, VIDDIV_PDIV_2  | (109 & VIDDIV_VDIV_MASK) },
    { 438, VIDDIV_PDIV_3  | ( 73 & VIDDIV_VDIV_MASK) },
    { 440, VIDDIV_PDIV_25 | ( 88 & VIDDIV_VDIV_MASK) },
    { 444, VIDDIV_PDIV_3  | ( 74 & VIDDIV_VDIV_MASK) },
    { 445, VIDDIV_PDIV_25 | ( 89 & VIDDIV_VDIV_MASK) },
    { 448, VIDDIV_PDIV_2  | (112 & VIDDIV_VDIV_MASK) },
    { 450, VIDDIV_PDIV_3  | ( 75 & VIDDIV_VDIV_MASK) },
    { 452, VIDDIV_PDIV_2  | (113 & VIDDIV_VDIV_MASK) },
    { 455, VIDDIV_PDIV_25 | ( 91 & VIDDIV_VDIV_MASK) },
    { 456, VIDDIV_PDIV_3  | ( 76 & VIDDIV_VDIV_MASK) },
    { 460, VIDDIV_PDIV_25 | ( 92 & VIDDIV_VDIV_MASK) },
    { 462, VIDDIV_PDIV_3  | ( 77 & VIDDIV_VDIV_MASK) },
    { 464, VIDDIV_PDIV_2  | (116 & VIDDIV_VDIV_MASK) },
    { 465, VIDDIV_PDIV_25 | ( 93 & VIDDIV_VDIV_MASK) },
    { 468, VIDDIV_PDIV_3  | ( 78 & VIDDIV_VDIV_MASK) },
    { 470, VIDDIV_PDIV_25 | ( 94 & VIDDIV_VDIV_MASK) },
    { 472, VIDDIV_PDIV_2  | (118 & VIDDIV_VDIV_MASK) },
    { 474, VIDDIV_PDIV_3  | ( 79 & VIDDIV_VDIV_MASK) },
    { 475, VIDDIV_PDIV_25 | ( 95 & VIDDIV_VDIV_MASK) },
    { 476, VIDDIV_PDIV_2  | (119 & VIDDIV_VDIV_MASK) },
    { 480, VIDDIV_PDIV_3  | ( 80 & VIDDIV_VDIV_MASK) },
    { 484, VIDDIV_PDIV_2  | (121 & VIDDIV_VDIV_MASK) },
    { 485, VIDDIV_PDIV_25 | ( 97 & VIDDIV_VDIV_MASK) },
    { 486, VIDDIV_PDIV_3  | ( 81 & VIDDIV_VDIV_MASK) },
    { 488, VIDDIV_PDIV_2  | (122 & VIDDIV_VDIV_MASK) },
    { 490, VIDDIV_PDIV_25 | ( 98 & VIDDIV_VDIV_MASK) },
    { 492, VIDDIV_PDIV_3  | ( 82 & VIDDIV_VDIV_MASK) },
    { 495, VIDDIV_PDIV_25 | ( 99 & VIDDIV_VDIV_MASK) },
    { 496, VIDDIV_PDIV_2  | (124 & VIDDIV_VDIV_MASK) },
    { 498, VIDDIV_PDIV_3  | ( 83 & VIDDIV_VDIV_MASK) },
    { 500, VIDDIV_PDIV_25 | (100 & VIDDIV_VDIV_MASK) },
    { 504, VIDDIV_PDIV_3  | ( 84 & VIDDIV_VDIV_MASK) },
    { 505, VIDDIV_PDIV_25 | (101 & VIDDIV_VDIV_MASK) },
    { 508, VIDDIV_PDIV_2  | (127 & VIDDIV_VDIV_MASK) },
    { 510, VIDDIV_PDIV_3  | ( 85 & VIDDIV_VDIV_MASK) },
    { 515, VIDDIV_PDIV_25 | (103 & VIDDIV_VDIV_MASK) },
    { 516, VIDDIV_PDIV_3  | ( 86 & VIDDIV_VDIV_MASK) },
    { 520, VIDDIV_PDIV_25 | (104 & VIDDIV_VDIV_MASK) },
    { 522, VIDDIV_PDIV_3  | ( 87 & VIDDIV_VDIV_MASK) },
    { 525, VIDDIV_PDIV_25 | (105 & VIDDIV_VDIV_MASK) },
    { 528, VIDDIV_PDIV_3  | ( 88 & VIDDIV_VDIV_MASK) },
    { 530, VIDDIV_PDIV_25 | (106 & VIDDIV_VDIV_MASK) },
    { 534, VIDDIV_PDIV_3  | ( 89 & VIDDIV_VDIV_MASK) },
    { 535, VIDDIV_PDIV_25 | (107 & VIDDIV_VDIV_MASK) },
    { 540, VIDDIV_PDIV_3  | ( 90 & VIDDIV_VDIV_MASK) },
    { 545, VIDDIV_PDIV_25 | (109 & VIDDIV_VDIV_MASK) },
    { 546, VIDDIV_PDIV_3  | ( 91 & VIDDIV_VDIV_MASK) },
    { 550, VIDDIV_PDIV_25 | (110 & VIDDIV_VDIV_MASK) },
    { 552, VIDDIV_PDIV_3  | ( 92 & VIDDIV_VDIV_MASK) },
    { 555, VIDDIV_PDIV_25 | (111 & VIDDIV_VDIV_MASK) },
    { 558, VIDDIV_PDIV_3  | ( 93 & VIDDIV_VDIV_MASK) },
    { 560, VIDDIV_PDIV_25 | (112 & VIDDIV_VDIV_MASK) },
    { 564, VIDDIV_PDIV_3  | ( 94 & VIDDIV_VDIV_MASK) },
    { 565, VIDDIV_PDIV_25 | (113 & VIDDIV_VDIV_MASK) },
    { 570, VIDDIV_PDIV_3  | ( 95 & VIDDIV_VDIV_MASK) },
    { 575, VIDDIV_PDIV_25 | (115 & VIDDIV_VDIV_MASK) },
    { 576, VIDDIV_PDIV_3  | ( 96 & VIDDIV_VDIV_MASK) },
    { 580, VIDDIV_PDIV_25 | (116 & VIDDIV_VDIV_MASK) },
    { 582, VIDDIV_PDIV_3  | ( 97 & VIDDIV_VDIV_MASK) },
    { 585, VIDDIV_PDIV_25 | (117 & VIDDIV_VDIV_MASK) },
    { 588, VIDDIV_PDIV_3  | ( 98 & VIDDIV_VDIV_MASK) },
    { 590, VIDDIV_PDIV_25 | (118 & VIDDIV_VDIV_MASK) },
    { 594, VIDDIV_PDIV_3  | ( 99 & VIDDIV_VDIV_MASK) },
    { 595, VIDDIV_PDIV_25 | (119 & VIDDIV_VDIV_MASK) },
    { 600, VIDDIV_PDIV_3  | (100 & VIDDIV_VDIV_MASK) },
    { 605, VIDDIV_PDIV_25 | (121 & VIDDIV_VDIV_MASK) },
    { 606, VIDDIV_PDIV_3  | (101 & VIDDIV_VDIV_MASK) },
    { 610, VIDDIV_PDIV_25 | (122 & VIDDIV_VDIV_MASK) },
    { 612, VIDDIV_PDIV_3  | (102 & VIDDIV_VDIV_MASK) },
    { 615, VIDDIV_PDIV_25 | (123 & VIDDIV_VDIV_MASK) },
    { 618, VIDDIV_PDIV_3  | (103 & VIDDIV_VDIV_MASK) },
    { 620, VIDDIV_PDIV_25 | (124 & VIDDIV_VDIV_MASK) },
    { 624, VIDDIV_PDIV_3  | (104 & VIDDIV_VDIV_MASK) },
    { 625, VIDDIV_PDIV_25 | (125 & VIDDIV_VDIV_MASK) },
    { 630, VIDDIV_PDIV_3  | (105 & VIDDIV_VDIV_MASK) },
    { 635, VIDDIV_PDIV_25 | (127 & VIDDIV_VDIV_MASK) },
    { 636, VIDDIV_PDIV_3  | (106 & VIDDIV_VDIV_MASK) },
    { 642, VIDDIV_PDIV_3  | (107 & VIDDIV_VDIV_MASK) },
    { 648, VIDDIV_PDIV_3  | (108 & VIDDIV_VDIV_MASK) },
    { 654, VIDDIV_PDIV_3  | (109 & VIDDIV_VDIV_MASK) },
    { 660, VIDDIV_PDIV_3  | (110 & VIDDIV_VDIV_MASK) },
    { 666, VIDDIV_PDIV_3  | (111 & VIDDIV_VDIV_MASK) },
    { 672, VIDDIV_PDIV_3  | (112 & VIDDIV_VDIV_MASK) },
    { 678, VIDDIV_PDIV_3  | (113 & VIDDIV_VDIV_MASK) },
    { 684, VIDDIV_PDIV_3  | (114 & VIDDIV_VDIV_MASK) },
    { 690, VIDDIV_PDIV_3  | (115 & VIDDIV_VDIV_MASK) },
    { 696, VIDDIV_PDIV_3  | (116 & VIDDIV_VDIV_MASK) },
    { 702, VIDDIV_PDIV_3  | (117 & VIDDIV_VDIV_MASK) },
    { 708, VIDDIV_PDIV_3  | (118 & VIDDIV_VDIV_MASK) },
    { 714, VIDDIV_PDIV_3  | (119 & VIDDIV_VDIV_MASK) },
    { 720, VIDDIV_PDIV_3  | (120 & VIDDIV_VDIV_MASK) },
    { 726, VIDDIV_PDIV_3  | (121 & VIDDIV_VDIV_MASK) },
    { 732, VIDDIV_PDIV_3  | (122 & VIDDIV_VDIV_MASK) },
    { 738, VIDDIV_PDIV_3  | (123 & VIDDIV_VDIV_MASK) },
    { 744, VIDDIV_PDIV_3  | (124 & VIDDIV_VDIV_MASK) },
    { 750, VIDDIV_PDIV_3  | (125 & VIDDIV_VDIV_MASK) },
    { 756, VIDDIV_PDIV_3  | (126 & VIDDIV_VDIV_MASK) },
    { 762, VIDDIV_PDIV_3  | (127 & VIDDIV_VDIV_MASK) }
};


//****************************************************************************
// CalculateClosestFreq
//****************************************************************************
// CalculateClosestFreq
// 
//   ulPLLFreq           -  PLL output Frequency (Mhz)
//   ulRequestedVidFreq  -  Requested Video Clock Frequency.
//   pulActualVideoFreq  -  Returned Actual Video Rate.
//   pulVidDiv           -  Video Divider register.
//
//   Return            0 - Failure
//                     1 - Success
//
static int CalculateClosestFreq
(
    ULONG   ulPLLFreq, 
    ULONG   ulRequestedVideoFreq,
    PULONG  pulActualVideoFreq,
    PULONG  pulVidDiv
)
{
    
    ULONG   ulLower;
    ULONG   ulUpper;
    ULONG   ulDiv;
    int     x;


    //
    // Calculate the closest divisor.
    //
    ulDiv =  (ulPLLFreq * 2)/ ulRequestedVideoFreq;

    for(x = 1; x < sizeof(VidDivTable)/sizeof(DIV_TABLE); x++)
    {

        //
        // Calculate the next greater and lower value.
        //
        ulLower = VidDivTable[x - 1].ulTotalDiv;     
        ulUpper = VidDivTable[x].ulTotalDiv;     

        //
        // Check to see if it is in between the two values.
        //
        if(ulLower <= ulDiv && ulDiv < ulUpper)
        {
            break;
        }
    }

    //
    // Return if we did not find a divisor.
    //
    if(x == sizeof(VidDivTable)/sizeof(DIV_TABLE))
    {
        *pulActualVideoFreq = 0;
        *pulVidDiv          = 0;
        return 0;
    }

    //
    // See which is closer, the upper or the lower case.
    //
    if(ulUpper * ulRequestedVideoFreq - ulPLLFreq * 2 >  
      ulPLLFreq * 2 - ulLower * ulRequestedVideoFreq)
    {
        x-=1;
    }
    *pulActualVideoFreq = (ulPLLFreq * 2)/ VidDivTable[x].ulTotalDiv;
    *pulVidDiv          = VidDivTable[x].ulVidDiv;
    return(1);
}

⌨️ 快捷键说明

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