查看: 3425|回复: 5

[S32] S32DS中的时间延时指令是什么啊

[复制链接]
  • TA的每日心情
    开心
    2019-1-16 13:05
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    9

    主题

    51

    帖子

    2

    注册会员

    Rank: 2

    积分
    171
    最后登录
    2019-1-22
    发表于 2018-11-24 15:35:05 | 显示全部楼层 |阅读模式
    如题           

    最佳答案

    如果不用OS,可以使用void delay (int length) {         while (length >0)             length--; } 或者 __asm("NOP"); 如果使用OS,就需要 ...
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情

    6 小时前
  • 签到天数: 2119 天

    [LV.Master]伴坛终老

    56

    主题

    4786

    帖子

    73

    金牌会员

    Rank: 6Rank: 6

    积分
    24834
    最后登录
    2024-5-8
    发表于 2018-11-25 09:28:44 | 显示全部楼层
    如果不用OS,可以使用void delay (int length)
    {
            while (length >0)
                length--;
    }


    或者
    __asm("NOP");

    如果使用OS,就需要根据OS函数实现了,比如FreeRTOS的
    vTaskDelay(pdMS_TO_TICKS(1000));

    评分

    参与人数 1 +1 收起 理由
    NXP管管 + 1

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-1-16 13:05
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    9

    主题

    51

    帖子

    2

    注册会员

    Rank: 2

    积分
    171
    最后登录
    2019-1-22
     楼主| 发表于 2018-11-25 10:33:54 | 显示全部楼层
    Angel_YY 发表于 2018-11-25 09:28
    如果不用OS,可以使用void delay (int length)
    {
            while (length >0)

    谢谢了  _asm("NOP")这个延时是多长时间啊  
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5395
    最后登录
    2021-12-22
    发表于 2018-11-26 09:21:06 | 显示全部楼层
    这要看你要延时多久。
    通常几百微秒内,使用nop代码、循环代码, 一个nop是就是一个时钟周期, 循环代码需要IO指令结合示波器测定调整到符合需要。

    再长就用systick,计数器,

    更长就用计时中断了。

    评分

    参与人数 1 +1 收起 理由
    NXP管管 + 1

    查看全部评分

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-1-16 13:05
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    9

    主题

    51

    帖子

    2

    注册会员

    Rank: 2

    积分
    171
    最后登录
    2019-1-22
     楼主| 发表于 2018-11-26 13:38:25 | 显示全部楼层
    okwh 发表于 2018-11-26 09:21
    这要看你要延时多久。
    通常几百微秒内,使用nop代码、循环代码, 一个nop是就是一个时钟周期, 循环代码需 ...

    ok  明白了  谢谢
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    帖子

    0

    新手上路

    Rank: 1

    积分
    13
    最后登录
    2023-3-24
    发表于 2023-3-20 10:12:23 | 显示全部楼层
    Angel_YY 发表于 2018-11-25 09:28
    如果不用OS,可以使用void delay (int length)
    {
            while (length >0)

    用while循环延时,大概什么数字对应多少时长啊,比如要延时500ms,length要多少?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-8 15:47 , Processed in 0.178477 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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