• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32编程中for语句循环总是时钟不准

65536 2019-02-03 浏览量:1910

stm32编程中for语句循环总是时钟不准

我在while循环之外的for语句中写delay_ms(2000);

结果一下就跳过去了,有没大佬知道怎么回事?


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 循环一下就跳过去了,建议你把代码贴出来,大家给你找找。

    一般你需要分析一下你的数据类型定义是不是不够,比如:U8的数据,你却要循环500次,这个就是数据类型定义出错。


    另外,在STM32的编程,一般延时用的是滴答定时器,或者其他的定时器。

    用for循环延时,本来就不精确

    • 发布于 2019-02-11
    • 举报
    • 评论 0
    • 3
    • 0

其他答案 数量:7
  • 代码问题,建议看看代码先
    • 发布于2019-02-11
    • 举报
    • 评论 0
    • 1
    • 0

  • 是的,最好用滴答定时器延时,10us以上都是很准的
    • 发布于2019-02-11
    • 举报
    • 评论 0
    • 1
    • 0

  • 这与你的时钟的配置是有关的,这个延时是有误差的,最好 是用定时器
    • 发布于2019-02-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 看一下你的delay函数是怎么实现的,是否定时的时基不对
    • 发布于2019-02-15
    • 举报
    • 评论 0
    • 0
    • 0

  • for循环会收到主频影响,还有你delay的实现方式也有很大关系。
    • 发布于2019-02-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 是不是循环语句有问题
    • 发布于2019-02-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 建议你看看 2000 这个参数,是不是和形参类型匹配,比如形参是char 类型,结果传递的参数是 2000 ,就会出现问题
    • 发布于2019-02-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32编程中for语句循环总是时钟不准