您的位置 首页 硬件

嵌入式C完成延时程序的不同变量的差异 几种Linux嵌入式开发环境的简略介绍

嵌入式C实现延时程序的不同变量的区别 几种Linux嵌入式开发环境的简单介绍-嵌入式C实现延时程序的不同变量的区别 几种Linux嵌入式开发环境的简单介绍 ARM嵌入式开发基础 对话微软MVP:走进嵌入式软件开发 在嵌入式系统中,延时是经常需要使用的一种手段,延时的方法可以通过使用类似于NOP的指令来实现,但是如果延时的时间比较长,如果使用太多的NOP 指令则会消耗过多的储存空间,最好的方法是使用子程序(汇编语言中)或子函数(高级语言中)。当然这里并不打算讨论如果使用定时器中断来实现延时。下面就在C语言中使

在嵌入式体系中,延时是常常需求运用的一种手法,延时的办法能够通过运用类似于"NOP"的指令来完成,可是假如延时的时刻比较长,假如运用太多的"NOP" 指令则会耗费过多的贮存空间,最好的办法是运用子程序(汇编言语中)或子函数(高档言语中)。当然这儿并不计划评论假如运用定时器中止来完成延时。下面就在C言语中运用子函数完成延时的几个问题做些评论,当然评论高档言语的延时就需求考虑编译器和处理器,这儿为了评论的便利,并且不失一般性,能够用规范51单片机作处理器和uVision2作为编译环境,晶振为12MHz,这样一个规范的机器周期即为1uS。其他的状况则能够据此类推。

先看一段延时程序:其间Delay1()与Delay2()两者的型参类型不同。

将上述的Delay1(100)(变量为unsigned int 类型)或Delay2(100)(变量为unsigned char  类型)分别在两次过程中履行,便会得到了下述的履行成果:

断点B减去断点A的时刻为810uS,这个时刻即为履行Delay1(100)所花费的时刻;

断点B减去断点A的时刻为608uS,这个时刻即为履行Delay2(100)所花费的时刻;

由此可见,作为unsigned int 变量类型来传递延时函数的参数,会增加延时的时刻,而运用unsigned char 变量类型则会得到短的延时时刻。咱们都知道C言语通过编译后是要转化成汇编言语的,只要汇编句子才有准确的履行时刻,所以要知道这两者成果的不同,原因就在于他们通过编译之后汇编句子的不同的当地。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/102895.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部