找回密码
 立即注册
楼主: 幸福***

us延时函数

[复制链接]

该用户从未签到

2

主题

4

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2023-12-18 11:25:08 | 显示全部楼层

ISP是可以给出,但是是固定的,我先做一个通用的带参数的,10uS左右能够精确的函数
回复 支持 反对 送花

使用道具 举报

该用户从未签到

2

主题

4

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2023-12-18 11:26:11 | 显示全部楼层
嵌入式之路 发表于 2023-12-14 20:56
您好,建议自己使用Keil进行debug 计算一个__nop__的时间, 然后自行调整for循环的层数, 这样才是最准确的.  ...

这个我试过了,对于小于10us的使用for函数,误差很大
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 158 天

    [LV.7]常住居民III

    67

    主题

    837

    回帖

    2782

    积分

    金牌会员

    积分
    2782
    发表于 2023-12-18 11:40:29 | 显示全部楼层
    本帖最后由 xxkj2010 于 2023-12-18 11:46 编辑
    幸福来陪伴 发表于 2023-12-18 11:22
    是的,我用带参数的用10uS这种误差太大了,DS18B20时序一直有问题,所以想在论坛请教一下大神 ...

    如果是为了驱动,建议用固定延时,不带函数的,这样更准确些,特别是短延时的。

    1. //STC12C5A60S2
    2. //函数名称:void delay_50US(unsigned int t)
    3. //功能: 延时50*t(us)
    4. void delay_50us(uint t)
    5. {
    6.         unsigned char i;
    7.         for(;t>0;t--)         
    8.         {
    9.         _nop_();
    10.         i = 135;
    11.         while (--i);
    12.         }
    13. }
    14. //8微秒延时基准程序
    15. void delay_8us(uint t)
    16. {        unsigned char i;
    17.         do{
    18.                 i = 19;
    19.                 while (--i);
    20.         }
    21.         while(--t);
    22. }
    23. //3微秒延时程序
    24. void delay_3us()
    25. {
    26.         unsigned char i;
    27.         _nop_();
    28.         i = 5;
    29.         while (--i);
    30. }
    复制代码


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    16 小时前
  • 签到天数: 142 天

    [LV.7]常住居民III

    10

    主题

    274

    回帖

    956

    积分

    高级会员

    积分
    956
    发表于 2023-12-18 13:38:06 | 显示全部楼层
    幸福来陪伴 发表于 2023-12-18 11:25
    ISP是可以给出,但是是固定的,我先做一个通用的带参数的,10uS左右能够精确的函数 ...

    那你只能使用keil  去debug找精确的延时了. 或者示波器io翻转自己测量一个
    自信就会温和,温和就会坚定!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    8 小时前
  • 签到天数: 139 天

    [LV.7]常住居民III

    15

    主题

    534

    回帖

    1950

    积分

    金牌会员

    打工人

    积分
    1950
    发表于 2023-12-18 15:44:15 | 显示全部楼层
    幸福来陪伴 发表于 2023-12-18 11:24
    ISP是可以给出,但是是固定的,我先做一个通用的带参数的,10uS左右能够精确的函数 ...

    那就得自己修改一下了。做个变量。
    打工人
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 102 天

    [LV.6]常住居民II

    1

    主题

    20

    回帖

    673

    积分

    高级会员

    积分
    673
    发表于 2023-12-27 08:48:32 | 显示全部楼层
    我在坛子里发过一个,你可以找找
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 102 天

    [LV.6]常住居民II

    1

    主题

    20

    回帖

    673

    积分

    高级会员

    积分
    673
    发表于 2023-12-27 08:51:16 | 显示全部楼层
    xueyeteng 发表于 2023-12-27 08:48
    我在坛子里发过一个,你可以找找

    KeilC写了一个STC8系列的软件延时程序,有需要的可以参考一下。
    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2772
    (出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 61 天

    [LV.6]常住居民II

    13

    主题

    64

    回帖

    335

    积分

    中级会员

    积分
    335
    发表于 2023-12-30 16:11:14 | 显示全部楼层
    这还到处要,自己写
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情

    昨天 16:14
  • 签到天数: 55 天

    [LV.5]常住居民I

    5

    主题

    14

    回帖

    81

    积分

    注册会员

    积分
    81
    发表于 2024-1-18 08:37:51 | 显示全部楼层
    xueyeteng 发表于 2023-12-27 08:51
    KeilC写了一个STC8系列的软件延时程序,有需要的可以参考一下。
    https://www.stcaimcu.com/forum.php?mod ...

    感谢,找了很久终于找到了
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 102 天

    [LV.6]常住居民II

    1

    主题

    20

    回帖

    673

    积分

    高级会员

    积分
    673
    发表于 2024-1-18 08:48:32 | 显示全部楼层
    weixin 发表于 2024-1-18 08:37
    感谢,找了很久终于找到了

    我也是在调试DS18B20的时候为了方便调试写的。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-3 17:12 , Processed in 0.067414 second(s), 63 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表