C#实现微秒(us)级延时
这里有两种方法,都有些许误差。可以自己把握。
第一种:
/*功能:微秒延时(1000us == 1ms)参数:延时时间单位ms延时5us:delayUs(0.005);
*/
public static double delayUs(double time)
{System.Diagnostics.Stopwatch stopTime = new System.Diagnostics.Stopwatch();stopTime.Start();while (stopTime.Elapsed.TotalMilliseconds < time) { }stopTime.Stop();return stopTime.Elapsed.TotalMilliseconds;
}
第二种:
/*功能:微秒延时(1000us == 1ms)参数:延时时间单位us延时5us:delayUs(5);
*/
[DllImport("kernel32.dll")]
extern static short QueryPerformanceCounter(ref long x);
[DllImport("kernel32.dll")]
extern static short QueryPerformanceFrequency(ref long x);
//定义延迟函数
public void USdelay(long delay_Time)
{long stop_Value = 0;long start_Value = 0;long freq = 0;long n = 0;QueryPerformanceFrequency(ref freq); //获取CPU频率long count = delay_Time * freq / 1000000; //这里写成1000000就是微秒,写成1000就是毫秒QueryPerformanceCounter(ref start_Value); //获取初始前值while (n < count) //不能精确判定{QueryPerformanceCounter(ref stop_Value);//获取终止变量值n = stop_Value - start_Value;}
}
C#实现微秒(us)级延时相关推荐
- stm32实现毫秒ms微秒us级延时
stm32实现毫秒ms微秒us级延时 上一篇文章简单捋了一下32时钟初始化的过程,对systick嘀嗒定时器有了一定的了解吧 实现方法有很多种,推荐一个博客:https://blog.csdn.net ...
- python实现亚毫秒(微秒)级延时
python实现亚毫秒(微秒)级延时 python的常用延时函数为time.sleep,最小延时精度为0.001秒,即time.sleep(0.001)延时为1毫秒,在windows10操作系统下,逻 ...
- STM32 CubeMX如何生成微秒(us)级延时
会自动在tim.c里面生成代码,如下: /* Includes ------------------------------------------------------------------*/ ...
- 无需另配定时器在STM32 HAL下实现微秒级延时(兼容FreeRTOS)
目录 前言 一.代码部分 二.使用和验证 1.引入头文件 2.初始化 3.使用和验证 三.可移植性 总结 前言 接触HAL库差不多两年了,一直苦于HAL库没有自带微秒级的延时,网上的前辈们给出的解决方 ...
- Windows 微秒级 延时
QueryPerformanceCounter()这个函数返回高精确度性能计数器的值,它可以以微妙为单位计时. // 微秒级延时 参数: 微秒 void Control::MySleep(DWORD ...
- 20140627-STM8L101F3P6关于微秒级延时函数不同写法的波形
总结一下STM8L101F3P6工作在16MHz下,利用死循环.中断等不同写法的微秒级延时函数精度的情况. 一.死循环空指令的写法,延时函数程序如下: /*********************** ...
- stm32实现Systick的毫秒级延时和微妙级延时
学习目标: stm32实现Systick的毫秒级延时和微妙级延时 学习内容: 1.Systick 工作原理 Systick(系统定时器)是ARM Cortex M3/M4 内核的一个外设,因为所有的C ...
- 20140627-STM8L101F3P6关于毫秒级延时函数不同写法的波形
总结一下STM8L101F3P6工作在16MHz下,利用死循环.中断等不同写法的微秒级延时函数精度的情况. 一.死循环空指令的写法,延时函数程序如下: /*********************** ...
- 一、STM32用HAL库实现uS级延时
一.应用场景 STM32CubeMX可视化初始化配置,结合 HAL 库,给STM32软件开发提高了效率,但 HAL 库封装的延时函数目前仅支持 mS 级别的延时,日常很多情况下会用到 uS延时,比如I ...
- ms和us级延时函数的实现
ms和us级延时函数的实现 2020 Sept. 8th 用sysTick实现延时 寄存器说明参考火哥(膜拜)的这篇博客:第18章 SysTick-系统定时器 用中断输出: //调用core_cmX. ...
最新文章
- Springboot中实现文件上传功能
- HTML 4.01 规定了三种文档类型
- 安装向导因错误而提前结束_【软件安装】SIMATIC STEP7 V5.6中文版安装教程及错误解决方法...
- Oracle : 使用JDBC连接ORACLE的三种URL格式
- oracle kill行锁,Oracle kill 锁表
- 【重识 HTML + CSS】项目实战
- C/C++学校运动会管理系统
- 将软件代码从Delphi 7迁移升级到Delphi 10.4.1等现代化新版本的注意事项
- 苹果手机测试版软件app,APP苹果测试版UDID设置
- 以前的windows安装文件可以删除吗_你知道C盘哪些文件是可以删除吗?
- 国家互联网信息办公室公布《互联网新闻信息服务单位内容管理从业人员管理办法》【软件网每日新闻播报│第10-31期】
- 「九章云极DataCanvas」完成C+轮融资, 用云中云战略引领数据智能基础软件升级
- 3Dmax调整材质的纹理方向有哪些步骤
- SpringBoot集成SwaggerUI及其使用
- 计算机ei浏览器没有了,ie浏览器不见了_我的电脑桌面上怎么IE浏览器没有了啊...
- 电脑CPU占用率100%如何处理 电脑CPU占用率100%解决方法
- PHP没你想的那么差
- 80核处理器_Intel i9-10980XE处理器首发评测:售价“良心”的18核性能旗舰
- python 之Entry
- FFMpeg4.0相关结构体和函数
热门文章
- Eclipse(CCES)bug “Some projects cannot be imported because they already exist in the workspace”
- 淘宝运营 一张流程图 精准定位目标人群,找到店铺精准画像
- 全志A64平台 TP9950 BT656输入驱动调试(2)驱动调试
- python操作中的时间处理,os操作,异常处理
- python中1e-2
- 教育行业信息安全敲起警钟,迅软DSE致力守护教育数据信息安全
- 2023年度“楚怡杯”湖南省职业院校技能竞赛隆回县职业中等专业学校赛点工作方案赛项:中职组信息技术类网络安全赛项
- windos下修改ORACLE数据库密码过期
- C语言练习——跑步锻炼
- 巧用Excel求解NTC 10K 温度传感器 (含程序)(区间线性回归)