第三代测试机编程手册  1.0
载入中...
搜索中...
未找到
bsp_delay.h 文件参考

延时函数 更多...

函数

void SleepMs (uint32_t ms)
 非精准的延时函数,调用freeRtos的延时函数实现.延时过程中可以产生任务调度.长时间(>=1s)的延时函数应该使用该函数, 否则会导致系统不稳定. 与之前的 #OsDelayMs() 函数一样. 在新的版本中使用 SleepMs() 代替.
 
void DelayUs (uint32_t us)
 精准的us级延时函数
 
void DelayMs (uint32_t ms)
 精准的ms级延时函数.
 
void FuncTimeTestStartUs (void)
 开始统计程序运行耗时, 单位us. 最长时间为50ms. 不能在 FuncTimeTestStartUs 和 FuncTimeTestEndUs之间使用延时函数, 否则测量结果无效.
 
float FuncTimeTestEndUs (void)
 结束统计程序运行耗时, 单位us, 最长时间为50ms
 
void RealTimeStart (void)
 用于进入实时模式,进入实时模式之后将会只处理实时模式之间的代码段,不会进行其他任务. 实时模式之间执行的任务消耗的时间要尽可能的短, 执行完成之后需要调用 RealTimeEnd() 退出实时模式. 这将导致一下内容不可用:
 
void RealTimeEnd (void)
 退出实时模式,恢复正常的任务调度.
 

详细描述

延时函数

版本
0.1
日期
2023-09-25
作者
fyuan (20879.nosp@m.3439.nosp@m.@qq.c.nosp@m.om)

函数说明

◆ SleepMs()

void SleepMs ( uint32_t  ms)

非精准的延时函数,调用freeRtos的延时函数实现.延时过程中可以产生任务调度.长时间(>=1s)的延时函数应该使用该函数, 否则会导致系统不稳定. 与之前的 #OsDelayMs() 函数一样. 在新的版本中使用 SleepMs() 代替.

参数
ms延时时间,单位ms

◆ DelayUs()

void DelayUs ( uint32_t  us)

精准的us级延时函数

  • 误差 <= 0.5us.
  • 建议不要使用该函数进行1s以上延时,否则可能导致设备阻塞离线. 超过1s可使用 SleepMs
参数
us输入范围 0~(2^32-1) / 10. (0~858993459us)

◆ DelayMs()

void DelayMs ( uint32_t  ms)

精准的ms级延时函数.

  • 误差 <= 0.5us.
  • 建议不要使用该函数进行1s以上延时,否则可能导致设备阻塞离线. 超过1s可使用 SleepMs
    参数
    ms输入范围 0~ (2^32-1) / 10000. (0~858993ms)

◆ FuncTimeTestEndUs()

float FuncTimeTestEndUs ( void  )

结束统计程序运行耗时, 单位us, 最长时间为50ms

返回
uint32_t

◆ RealTimeStart()

void RealTimeStart ( void  )

用于进入实时模式,进入实时模式之后将会只处理实时模式之间的代码段,不会进行其他任务. 实时模式之间执行的任务消耗的时间要尽可能的短, 执行完成之后需要调用 RealTimeEnd() 退出实时模式. 这将导致一下内容不可用:

  • SleepMs将自动使用DelayMs实现从而不进行任务调度, 但是任然可以使用 DelayMs和DelayUs函数
  • 任务调度不可用
  • 通信程序不会工作
  • 总之除了测试程序之外的所有内容都不会再工作, 直到使用 RealTimeEnd() 之后才会恢复