在线情况
楼主
  • 头像
  • 级别
    • 积分11
    • 经验332
    • 文章8
    • 注册2011-07-28
    关于捕获频率并显示出来的问题
    [P]设置了一个unsigned int变量temp 用来测量周期 也就等于两个上升沿之间的差 然后设置 d= 1/(temp/32768)就是我用信号发生器发出来的波的频率 经计算 也确实这样 其中32768 是我计数用的频率 但是我在数码管上却不能显示出来 数码管设置全没问题 主要是 我计数出来的d就是频率 但是通过watch窗口看却总是65535  我上个图 就清楚了 图中temp 就是我捕获的值 这个是我用信号发生器发的500hz的波 用d= 1/(temp/32768) 应该等于500 才对 但是他却一直显示65535 我猜想是小数点他也算进去了 所以一直是65535[/P][P]DC老师 求指教啊![/P]
    [upload=2071,0]360安全浏览器截图16679296.jpg[/upload]
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
      • 积分11
      • 经验332
      • 文章8
      • 注册2011-07-28
      [P]蒽  是的 我想到了小数点方面的问题 但无从下手 这样的话 我等下用c语言里面的强制转换试一下   谢谢老师[/P]
      微控网感谢您的参与
      在线情况
      3
      • 头像
      • 级别
        • 积分11
        • 经验332
        • 文章8
        • 注册2011-07-28
        ok了 本来其实没错了 只是不知道怎么回事 d= 1/(temp/32768) 它就显示 65535 但是我把这个算式简化成327168/temp就能显示正确数值了  擦!
        微控网感谢您的参与
        Powered by LeadBBS 9.2 .
        Page created in 0.0938 seconds with 6 queries.