zoukankan      html  css  js  c++  java
  • linux内核函数 rational_best_approximation

    函数在内核lib ational.c文件中定义,原型是

    void rational_best_approximation(
    unsigned long given_numerator, unsigned long given_denominator,
    unsigned long max_numerator, unsigned long max_denominator,
    unsigned long *best_numerator, unsigned long *best_denominator)
    

    其作用是计算波特率的分频值, imx6ull的波特率计算公司如下

    为了使用rational_best_approximation函数, UBMR类比于denominator,UBIR类比于numerator,简化波特率计算模型:

     相当于

    第3和第4个参数是numerator和denominator最大值,通常指的是分频UBMR和UBIR在寄存器的位数,占用8位,则参数是 (1 << 8) -1

     下面截图传入的参数和执行结果:

     

     根据打印结果,从而确定了 rational_best_approximation 函数内参数的关系如下:

  • 相关阅读:
    守卫者的挑战
    黑魔法师之门
    noip2015 普及组
    noip2015 提高组day1、day2
    40026118素数的个数
    高精度模板
    经典背包系列问题
    修篱笆
    [LintCode] Linked List Cycle
    [LintCode] Merge Two Sorted Lists
  • 原文地址:https://www.cnblogs.com/-tbd-/p/13571937.html
Copyright © 2011-2022 走看看