2017-11-10 17:09

鉴于有些人对我以上两个函数不了解的,我将他们详细写出来,不然又要被某些人喷

对于以上的用法,当你有要延时后才去执行的内容时,如果使用delay()函数,会造成系统阻塞

造成bug,对于误差要求不高的,精度不高的代码可能看不出这种最带来的后果

如果看过一些好的源码的人都能理解我所说的这种用法的好处

新手可以试着去感受和学习

一个过来人的经验

不喜勿喷

//-----------------------------------------------

//Fun        : void WaitInitial(u32* pBaseTime)

//In        : *pBaseTime - 要初始化的时间

//Out        : NULL

//Des        : 等待时间初始化

//-----------------------------------------------

void WaitInitial(u32* pBaseTime)

{

#ifdef         SYS_PLAT_8BIT

SYS_EMI_DIS();

#endif

*pBaseTime = wSysTick;        //mTMRBase;

#ifdef        SYS_PLAT_8BIT

SYS_EMI_EN();

#endif

}

//-----------------------------------------------

//Fun        : u8 WaitChk(u32* pBaseTime, u32 WaitSet)

//In        : *pBaseTime - 要比较的时间

//          WaitSet - 延时时间

//Out        : NULL

//Des        : 0- 延时时间到

//-----------------------------------------------

u8 WaitChk(u32* pBaseTime, u32 WaitSet)

{

u32 i32, j32;

#ifdef        SYS_PLAT_8BIT

SYS_EMI_DIS();

#endif

j32 = wSysTick;

#ifdef        SYS_PLAT_8BIT

SYS_EMI_EN();

#endif

//求值

i32 = j32 - (*pBaseTime);

//判断

if(i32 >= WaitSet)

{

//时间到

(*pBaseTime) = j32;

return 0;

}

return 1;

}

c语言如何给阻塞函数加超时,在代码中写一个延时而不阻塞的函数方法,给大家的参考 - 单片机 - 电子工程世界-论坛 - 手机版...相关推荐

  1. python中fillna函数_在pandas dataframe中写一个用户定义的fillna函数,用条件填充np.nan不同的值...

    考虑以下pandas数据帧: import pandas as pd change = [0.475, 0.625, 0.1, 0.2, -0.1, -0.75, 0.1, -0.1, 0.2, -0 ...

  2. c语言单片机常用函数,C51单片机C语言函数编辑 -单片机-电子工程世界网

    其实一直出现在例子中的 main()也算是一个函数,只不过它比较特殊,编译时以它做为程序的开始段.有了函数C 语言就有了模块化的优点,一般功能较多的程序,会在编写程序时把每项单独的功能分成数个子程序模 ...

  3. c语言中0xof423什么意思,C语言-相关博文 - 电子工程世界-论坛

    liufan 2015-4-15 15:00 今天一时兴起,想写写对于指针的理解,希望能用最简单的语言,表达的清楚明白,更希望能帮到刚刚接触C指针的同学.写这还是蛮有 成就感的,我咋就不去当老师列? ...

  4. c语言检测HDMI热插拔,c语言算法 - 创新实验室 - 电子工程世界-论坛

    /************************************************************************************* *项目需求:求和形如2 + ...

  5. dsp输出正弦波 c语言,快速计算正弦波 - DSP 与 ARM 处理器 - 电子工程世界-论坛...

    快速计算正弦波 [复制链接] 在DSP运用中,经常需要产生正弦波.如果直接用c的数学函数sin,当然可以产生正弦波,但是由于sin函数本身的效率很低,产生正弦波所需要的MIPS就会占去DSP处理能力的 ...

  6. C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0。在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是

    原题: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0.在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是不是 ...

  7. 【数字图像处理】模拟Matlab的imresize()写一个你自己的imresize()函数,至少应实现‘nearest’和‘bilinear’两种方法

    作业要求:模拟Matlab的imresize()写一个你自己的imresize()函数,至少应实现'nearest'和'bilinear'两种方法. 首先理论方面主要参考了一下两个网址 https:/ ...

  8. js中写一个函数,第一秒打印1,第二秒打印2

    js中写一个函数,第一秒打印1,第二秒打印2 1.用let块级作用域 for(let i = 0;i<5;i++){setTimeout(()=>{console.log(i);},100 ...

  9. 给定一个数学函数写一个程序来确定该函数是否是双射的

    离散题目11 Time Limit: 1000 msMemory Limit: 65536 KiB Problem Description 给定一个数学函数写一个程序来确定该函数是否是双射的 Inpu ...

最新文章

  1. 八、进程调度的时机、切换与过程,调度方式
  2. 使用 _tprintf 宏兼容多字节字符集和Unicode字符集
  3. 华为光猫鉴权解密逆向
  4. activity直接销毁_Android -- Activity的销毁和重建
  5. hdu 6086 -- Rikka with String(AC自动机 + 状压DP)
  6. java scheduler_RxJava Scheduler介绍
  7. 《Go程序设计语言》- 第10章:包和go工具
  8. vpx计算机论文,高端计算机系统架构设计与VPX总线
  9. Matlab实现杨氏双缝干涉和(单缝+多缝+圆孔+矩孔)衍射
  10. VMware Workstation Pro 安装教程
  11. 小呆聚合支付系统是个人二维码免签约即时到账多商户支付系统v1.7文字教程
  12. wordpress插件_哪个是最好的WordPress画廊插件? (性能比较)
  13. 同步异步数据采集卡参数选择
  14. 蒟蒻的控制台贪吃蛇(新手实验)
  15. 11.4王者荣耀服务器维护中,4月11日全服不停机更新公告
  16. 樱道,空蝉,雨空,夏恋,雨道,彩月,幻昼,惊梦,白夜。这些纯音乐
  17. acml会议级别_ACL-NLP顶级会议
  18. 嵌入式设备时间同步管理
  19. Expected response code 250 but got code “501“, with messa php laravel 发邮件 smtp qq邮箱 阿里云
  20. Idea多次启动同一个服务

热门文章

  1. 推荐一些冷门但是超级实用的工具
  2. Sprinig Boot + Redis 实现接口幂等性,写得太好了!
  3. Android踩坑日记:自定义水平和圆形ProgressBar样式
  4. a标签的四种链接状态
  5. java.io,PrintWriter可以用来创建一个文件并向本文文件写入数据
  6. 【深入Java虚拟机JVM 10】回收方法区
  7. Java中设计模式之工厂模式-4
  8. Bootstrap日期插件之Datetimepicker修改默认语言(附带源码)
  9. Python命令行选项参数解析策略
  10. 转:让 ThinkPad 的中键加小红帽模拟鼠标滚轮