美高梅官网,金沙网投领导者,金沙网投网站,金沙网投开户 > 控制/MCU > 正文

C语言里如何编写精确的微量延时

? 2018年05月23日 16:33 ? 次阅读

美高梅官网,金沙网投领导者,金沙网投网站,金沙网投开户 www.tongshi-cn.com 众所周知,相比于其他编程语言,C语言在编写嵌入式编程中有着绝对的优势。但它总也有缺点的:它的时序性比较差,不容易编写精准的延时。而在编写嵌入系统驱动程序时,常常需要比较精确的软件延时,这使得C语言的“劣势”暴露了出来,一般都只能通过嵌入汇编的方式实现。例如,在1MHZ工作频率下需要延时10us,就需要嵌入10句“空操作”指令,显然在书写上比较难堪。本文提出一种简化书写的延时方案,使用带参数的宏构来造微小时间片,可以实现完全精确的软件延时,大大方便了驱动程序及软件模拟通信协议的编写。

C语言里如何编写精确的微量延时

说明:以下皆为ICC AVR平台下的讨论,对AVR系列所有型号的单片机皆有效。至于其他平台,可据此方案自行修改和移值。

该方案的实现方法其实很简单:

首先定义N个宏,分别调用 1 ~ N 个汇编“空操作”指令,如:

#define NOP_1 asm(“nop”) //延时一个时钟周期

#define NOP_2 NOP_1; asm(“nop”) //延时两个时钟周期

#define NOP_3 NOP_2; asm(“nop”) //延时三个时钟周期

#define NOP_4 NOP_3; asm(“nop”) //延时四个时钟周期

……

#define NOP_40 NOP_40; asm(“nop”) //延时40个时钟周期

然后利用“##”操作符,实现带参数宏的延时:

#define NOP(N) NOP_##N //延时 N个时钟周期

操作符的作用是把两个部分的内容连成一个内容。就是说,NOP(3)展开后成为NOP_3,NOP(4)展开后成为NOP_4,等等。因此,定义上述宏之后,就可通过调用NOP(N)语句实现精确软件延时。例如:

NOP(4); //延时4个时钟周期

上述语句展开过程如下:

NOP_3 ; asm(“nop”);

NOP_2; asm(“nop”); asm(“nop”);

NOP_1; asm(“nop”); asm(“nop”); asm(“nop”);

asm(“nop”); asm(“nop”); asm(“nop”); asm(“nop”);

正好延时4个时钟周期

不过,上面的宏还不够完善,如果试图使用下面的语句,程序将会出现漏洞。

if(表达式)

NOP(3);

else

NOP(4);

这是因为NOP(N)宏展开之后,不是一个语句,而是变成N个语句。故必须用花括号括起来,程序才能运行正确。即应该改为:

if(表达式)

{

NOP(3);

}

else

{

NOP(4);

}

如果把NOP(N)宏的定义改为:

#define NOP(N) do{ NOP_##N ; }while(0)

则NOP(N)宏展开之后只形成一个语句,将不会出现上面的问题。

但是要注意,“##”操作符只能按照原样把两边的内容连在一起。故NOP(N)的参数必须是具体的常量,即只能是数字,并且,与该数字相对应的宏NOP_N已必须已经定义。

例如:

“NOP(3+4);”语句展开之后,将将变成“NOP_3+4;”,出现语法错误;

又如:

“NOP(a);”语句展开之后,将将变成“NOP_a;”,而“NOP_a;”未定义。

只有这样的语句才是正确的调用:

NOP(20); //延时20个时钟周期

将上述方案整理成一个头文件,以后就可以任意调用了。下面是整理好的头文件:

注意:该文件不宜作长时间的延时。长时间的延时将会调用大量的“空操作”指令,占用大量的程序指令空间。这个问题将在V2.0版本中解决。

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

荐读:如何学习FPGA?为什么你会觉得FPGA难...

很多人问我该如何去学FPGA,那么今天咱们就来聊一聊。 一、入门首先要掌握HDL(HDL=veril...

发表于 2018-05-22 10:43 ? 478次阅读
荐读:如何学习FPGA?为什么你会觉得FPGA难...

ATPCS规则体现了一种??榛杓频乃枷?/a>

ATPCS规定堆栈采用满递减类型(FD,Full Descending),即堆栈通过减小存储器地址而...

发表于 2018-05-22 09:26 ? 165次阅读
ATPCS规则体现了一种??榛杓频乃枷? /></a>
                </div><div class=

重赏!求教调用API,控制系统麦克风的接收音量

发表于 2018-05-22 09:16 ? 476次阅读
重赏!求教调用API,控制系统麦克风的接收音量

C语言教程之函数指针变量与指针函数的区别(下篇)

z=(*pfun)(x,y); //调用函数指针变量,实参x和y的值传递给形参a和b printf...

发表于 2018-05-22 07:30 ? 102次阅读
C语言教程之函数指针变量与指针函数的区别(下篇)

C语言教程之指针的定义及特点(上篇)

定义含 义 int i;定义整型变量i int *pp为指向整型数据的指针变量 int a[n];定...

发表于 2018-05-22 07:28 ? 115次阅读
C语言教程之指针的定义及特点(上篇)

加深小伙伴们对C语言的认识

程序中以 /*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序...

发表于 2018-05-21 10:18 ? 184次阅读
加深小伙伴们对C语言的认识

现在程序工程师就业市场需要的各编程语言知识大全

毕业季在即,最近又有很多小伙伴问到关于就业的事,不知道需要哪些技能,今天我们再聊聊这个话题。现在IT...

发表于 2018-05-19 11:13 ? 432次阅读
现在程序工程师就业市场需要的各编程语言知识大全

在ARM开发环境下C语言的设置堆栈指针和清理BS...

以前稍微写过操作系统上的C程序,感受不出来:BSS段,堆栈的意义。到了在单片机上写程序也没有考虑这些...

发表于 2018-05-19 09:55 ? 320次阅读
在ARM开发环境下C语言的设置堆栈指针和清理BS...

C语言的编程题疑问

发表于 2018-05-17 11:41 ? 274次阅读
C语言的编程题疑问

安装Notepad++和MinGWl方法图解

Visual C++ 6.0集成了MFC6.0,于1998发行,又称VC98。这么多年一直经久不衰,...

发表于 2018-05-15 17:04 ? 102次阅读
安装Notepad++和MinGWl方法图解

我们说说C++程序员成长路上的那点事

过来人结合自身的体会和大家聊聊,希望新人能少走弯路。每个人的情况不一样,我下面的描述可能并不适合每一...

发表于 2018-05-15 15:56 ? 101次阅读
我们说说C++程序员成长路上的那点事

电子工程师要如何突破瓶颈?电子工程师是吃青春饭吗...

电子工程师是吃青春饭吗?因为这份工作经常加班熬夜很辛苦,然后一直看电脑,一直坐着,反正对身体不是很好...

发表于 2018-05-14 13:32 ? 173次阅读
电子工程师要如何突破瓶颈?电子工程师是吃青春饭吗...

高手分享C语言调试经验

程序写出来了,自己检查着没有错误,但一运行却出现一大堆错误,好不容易、好不容易改的没错误了,一运行却...

发表于 2018-05-11 17:02 ? 661次阅读
高手分享C语言调试经验

函数重载隐藏覆盖的区别

发表于 2018-05-11 09:33 ? 235次阅读
函数重载隐藏覆盖的区别

C语言包括哪些东西?哪些部分重要,哪些部分需要着...

函数的话我感觉就是main函数的一个延伸,但它是可重复调用的,你可以把一些繁杂的步骤写到一个函数里面...

发表于 2018-05-11 09:10 ? 995次阅读
C语言包括哪些东西?哪些部分重要,哪些部分需要着...

浅谈C语言return语句和main 函数的返回...

在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的...

发表于 2018-05-10 10:53 ? 89次阅读
浅谈C语言return语句和main 函数的返回...

5月编程语言排行榜:C语言再度暴涨

前20名的排行中,Go语言出现实现了重大突破,从第19名一跃上升至第14名,不过Go语言增长最快的时...

发表于 2018-05-09 17:03 ? 2013次阅读
5月编程语言排行榜:C语言再度暴涨

当第一次执行count=0时如果ESP8266_Cmd(("AT","OK",NULL,500))这条语句为假,那么直接退出while循环码?

发表于 2018-05-09 12:14 ? 199次阅读
当第一次执行count=0时如果ESP8266_Cmd(("AT","OK",NULL,500))这条语句为假,那么直接退出while循环码?

在C和C++语言开发中内存直接操作的方法

指针释放引起的错误:释放同一个内存块两次,或释放一块未曾使用malloc分配的内存,或释放仍在使用中...

发表于 2018-05-09 10:56 ? 950次阅读
在C和C++语言开发中内存直接操作的方法

C语言,函数中 return的作用

发表于 2018-05-09 09:48 ? 231次阅读
C语言,函数中 return的作用

检测内存泄漏和内存违例,Valgrind不可少!

Valgrind可以检测内存泄漏和内存违例,但是用Valgrind生成的日志信息结合kcachegr...

发表于 2018-05-07 08:45 ? 417次阅读
检测内存泄漏和内存违例,Valgrind不可少!

C语言程序内存布局该关注哪些内容

C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语...

发表于 2018-05-07 08:03 ? 128次阅读
C语言程序内存布局该关注哪些内容

C语言字符串和指针的使用

发表于 2018-05-05 17:04 ? 314次阅读
C语言字符串和指针的使用

C语言误用易错知识点与基本语法汇总

语言之所以能称之为语言,它肯定是一种工具一种相互交流相互通信相互传达之间的意图的工具,作为语言那肯定...

发表于 2018-05-05 15:32 ? 200次阅读
C语言误用易错知识点与基本语法汇总

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

发表于 2018-05-04 17:15 ? 254次阅读
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

如何快速理解C代码提高工作效率

首先代码要符合编码规范,大公司都有自己的一套编码规范。富士通的编码规范不得不佩服一下,确实很详细,很...

发表于 2018-05-02 10:11 ? 113次阅读
如何快速理解C代码提高工作效率

一个蛋疼的C语言位操作代码(不许上机调试)

发表于 2018-05-02 09:05 ? 223次阅读
一个蛋疼的C语言位操作代码(不许上机调试)

校验数字校验字符和特殊需求的常用正则表达式大全

本文的主要内容是校验数字校验字符和特殊需求的常用正则表达式大全

发表于 2018-04-30 17:34 ? 181次阅读
校验数字校验字符和特殊需求的常用正则表达式大全

开发人员有必要过度追求软件灵活性吗?

我们必须设法通过简化开发流程来管理复杂性。 因为管理复杂性是次重要的责任,我们必须始终记住软件开发人...

发表于 2018-04-28 08:53 ? 1315次阅读
开发人员有必要过度追求软件灵活性吗?

三步教你如何成为单片机高手

当编写自己的程序信手拈来、阅读别人的程序能够发现问题的时候,说明你的单片机编程水平相当不错了。接下来...

发表于 2018-04-27 16:09 ? 1472次阅读
三步教你如何成为单片机高手

单片机——内部资源,最小系统,硬件基础知识

STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断...

发表于 2018-04-27 15:08 ? 603次阅读
单片机——内部资源,最小系统,硬件基础知识

【51节假福利】单片机、C语言课程 51节假日特惠立减30元 马上领取

发表于 2018-04-26 20:28 ? 1518次阅读
【51节假福利】单片机、C语言课程 51节假日特惠立减30元 马上领取

求助??! 各位大神请问单片机是怎么把信号转换成二进制并进行选择的?能否详细说一下。。谢了?。?!

发表于 2018-04-25 14:20 ? 239次阅读
求助??!   各位大神请问单片机是怎么把信号转换成二进制并进行选择的?能否详细说一下。。谢了?。?!

MSP430开发入门基础 C语言编程起步

首先你要知道msp430的存储器结构。典型微处理器的结构有两种:冯。诺依曼结构——程序存储器和数据存...

发表于 2018-04-23 11:06 ? 140次阅读
MSP430开发入门基础 C语言编程起步

了解“预编译、编译、汇编、链接”这四个过程对你有...

C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需...

发表于 2018-04-18 10:08 ? 361次阅读
了解“预编译、编译、汇编、链接”这四个过程对你有...

学会这8个经典小程序,就相当于跨入了C语言大门

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

发表于 2018-04-17 16:32 ? 509次阅读
学会这8个经典小程序,就相当于跨入了C语言大门

一个TCP非阻塞client端简单的例子

由于网络协议非常复杂,内核里面用到了大量的面向对象的技巧,所以我们从创建连接开始,一步一步追述到最后...

发表于 2018-04-16 15:27 ? 372次阅读
一个TCP非阻塞client端简单的例子

学好指针对C语言的学习有很重要的意义

一个字节(8bit)包含一个地址。内存中每一个位置都包含一个独一无二的地址标识,而每一个位置都包含一...

发表于 2018-04-16 14:35 ? 342次阅读
学好指针对C语言的学习有很重要的意义

一个C程序是如何运行在硬件上的?

在头文件中一般用伪指令#define定义了大量的宏(最常见的是字符常量),同时包含有各种外部符号的声...

发表于 2018-04-15 09:26 ? 754次阅读
一个C程序是如何运行在硬件上的?

抛弃Jave_谷歌C语言写就微内核新OS

Android虽然已经超越Windows成为全球用户最多的一套操作系统,可是因为Java的问题,谷歌...

发表于 2018-04-15 05:34 ? 289次阅读
抛弃Jave_谷歌C语言写就微内核新OS

C语言中#define的一些用法介绍概述

今天整理了一些#define的用法,与大家共享!1.简单的define定义#define MAXTI...

发表于 2018-04-14 11:29 ? 397次阅读
C语言中#define的一些用法介绍概述

linux内核首选编码样式的文档

全世界有不同意见的人都认为此不一致的地方——好吧——很是缺乏一致性,不过只要是能正常思考的都知道《C...

发表于 2018-04-13 15:28 ? 330次阅读
linux内核首选编码样式的文档

c语言入门书籍推荐

本文主要介绍c语言入门书籍,首先讲解了C语言的优点,其次详细的推荐了几款适合C语言入门的书籍。

发表于 2018-04-13 09:52 ? 690次阅读
c语言入门书籍推荐

51单片机的串口通信协议的6个特征

其中D0-D7是一个字节的8个位。9位模式只是多了一个位TB8,这个TB8的作用是奇偶校验或多机通信...

发表于 2018-04-13 09:17 ? 574次阅读
51单片机的串口通信协议的6个特征

想学编程应该先学什么_初学编程应该看什么书

许多大学生认为学最新的计算机语言、技术、标准是最好的铺路方法,因为许多公司招聘时要求这些方面的经验。...

发表于 2018-04-11 15:04 ? 938次阅读
想学编程应该先学什么_初学编程应该看什么书

自从20世纪80年代以来就存在的未来编程语言的预...

在这篇文章中,我来讲述一下为什么我不再碰 C++ 的故事。这是关于计算机语言设计经济学专题文章的起始...

发表于 2018-04-11 10:46 ? 479次阅读
自从20世纪80年代以来就存在的未来编程语言的预...

C语言函数的相关语法及其参数的了解

在默认情况下,MSP430的C语言编译器将变量存放在主RAM中,并在启动时对其进行初始化。no_in...

发表于 2018-04-10 17:22 ? 422次阅读
C语言函数的相关语法及其参数的了解

学习开发环境和编程语言:汇编语言和C语言的比较

能够解决上述问题的编程语言就是C语言。C语言具有不依存于特定的CPU,又具有程序移植性高等的特点。另...

发表于 2018-04-10 09:01 ? 594次阅读
学习开发环境和编程语言:汇编语言和C语言的比较

当python取代C语言时电子工程师还能顺利毕业...

事情真的会如程序员们期待的那样发展吗?电子工程师该如何应对?Python语言又为什么突然受到了格外的...

发表于 2018-04-08 12:04 ? 741次阅读
当python取代C语言时电子工程师还能顺利毕业...

单片机学习的人必须掌握的基本内容

首先要放清51的定位,跟我一起再念一遍:51只是个工具51只是个工具51只是个工具。当然51还有一个...

发表于 2018-04-08 08:36 ? 622次阅读
单片机学习的人必须掌握的基本内容

工程师必须要懂得C语言 如果不懂C语言该感到?;?/a>

在大学院校的计算机科学体系中,持续缺乏对嵌入式系统编程关注的情况,可能会让分散的情况日趋严重。事实上...

发表于 2018-04-07 08:50 ? 379次阅读
工程师必须要懂得C语言 如果不懂C语言该感到?;? /></a>
                </div><div class=

如何优化C语言:选择合适的算法和数据结构

数组与指针语句具有十分密码的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分...

发表于 2018-04-06 19:52 ? 732次阅读
如何优化C语言:选择合适的算法和数据结构

C语言及ARM中堆栈指针SP设置的理解与总结

开始将堆栈指针设置在内部RAM,是因为不是每个板上都有外部RAM,而且外部RAM的大小也不相同,而且...

发表于 2018-04-06 19:46 ? 606次阅读
C语言及ARM中堆栈指针SP设置的理解与总结

c语言运算符优先级规律

超详细!快进来复习一下C语言运算符优先级 每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真...

发表于 2018-04-03 11:30 ? 381次阅读
c语言运算符优先级规律

嵌入式选择用C语言开发的原因

面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传...

发表于 2018-04-03 10:54 ? 421次阅读
嵌入式选择用C语言开发的原因

如果你喜欢编程想学习编程请看看下文给你的 7 个...

如果你喜欢编程,那么你真是受到了上天的眷顾。你是非常幸运的少数人之一,能够以自己喜欢的事谋生。

发表于 2018-04-03 10:04 ? 593次阅读
如果你喜欢编程想学习编程请看看下文给你的 7 个...

依靠C语言,单片机平台可以制作二维码

以往我们所使用到的二维码大多依赖网络平台或者智能终端,今天我们来谈谈在单片机平台上的实现过程。

发表于 2018-04-02 17:44 ? 577次阅读
依靠C语言,单片机平台可以制作二维码

单片机编程及芯片操作简单总结

如果我们把这个“口”字图形的“.”处用“0”代替,就可以很形象地得到“口”的字形码:0000H 00...

发表于 2018-04-02 09:08 ? 564次阅读
单片机编程及芯片操作简单总结

C语言:条件编译及预定义符号知识详解

宏定义永远不要吝啬括号,防止因为优先级的问题导致出现不可思议的后果 宏不能实现递归 宏只文本替换,并...

发表于 2018-03-31 09:20 ? 717次阅读
C语言:条件编译及预定义符号知识详解

嵌入式操作系统都基于GCC进行源码编译

系统头文件是指C语言本身和操作系统相关的头文件。在使用-v选项获取系统头文件路径时,必须后面带一个有...

发表于 2018-03-30 13:57 ? 339次阅读
嵌入式操作系统都基于GCC进行源码编译

收藏!我的单片机C语言编程心得都在这里了

迄今为止,写过的程序都是一些很简单的程序,从来没有想到要自己写.H文件,也不知道.H文件到底什么用,...

发表于 2018-03-30 13:50 ? 596次阅读
收藏!我的单片机C语言编程心得都在这里了

什么是可移植?C语言是如何做到可移植的?

什么是可移植?如何才能可移植?C语言是如何做到可移植的?对于初学者,可移植可能是一个经常遇到却很神秘...

发表于 2018-03-29 14:41 ? 293次阅读
什么是可移植?C语言是如何做到可移植的?

C语言基本知识点和编程规范详解

局部变量,不加说明默认为auto型,即动态存储,如果不赋初值,将是一个不确定的值。而将局部变量定义为...

发表于 2018-03-29 09:21 ? 351次阅读
C语言基本知识点和编程规范详解

初学C语言请一定要看完 C语言误区详解

今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约...

发表于 2018-03-28 16:13 ? 786次阅读
初学C语言请一定要看完 C语言误区详解

C语言编译器是用来做什么的

C语言是一种结构化语言。它层次清晰,便于按??榛绞阶橹绦?,易于调试和维护。C语言的表现能力和处理...

发表于 2018-03-27 13:47 ? 510次阅读
C语言编译器是用来做什么的

C语言编译器哪个好_6款好用的C语言编译器推荐

使用VC++6.0中文版,因为国家考试用的就是那个,当然了还有Turbo C这个也是以前国家考试用的...

发表于 2018-03-27 11:20 ? 1515次阅读
C语言编译器哪个好_6款好用的C语言编译器推荐

学习c语言需要什么软件_c语言编程软件有哪些

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储...

发表于 2018-03-27 10:58 ? 1967次阅读
学习c语言需要什么软件_c语言编程软件有哪些

字符串函数strlen的深入研究

本系列是为了剖析crt库中intel??橄碌哪切┖?,那么我们去找找那里面有没有strlen的实现...

发表于 2018-03-26 16:01 ? 483次阅读
字符串函数strlen的深入研究

学嵌入式能不能只用C写程序?

想深入链接C语言的函数是如何调用的,参数是如何传递的,想了解指针的本质、函数名的本质,就要深入汇编级...

发表于 2018-03-26 08:34 ? 516次阅读
学嵌入式能不能只用C写程序?

C语言作为高级编程语言中的一门“低级”语言为什么...

看开源代码是程序员进阶的一个很好途径,而很多开源的软件,都是用C语言实现的。Linux/Unix系统...

发表于 2018-03-23 16:04 ? 714次阅读
C语言作为高级编程语言中的一门“低级”语言为什么...

整理总结一份属于自己的编码风格

· Lib:引用的库文件。 一个工程一定要包含一个main.c文件,只用来存放main函数。其余函...

发表于 2018-03-23 11:48 ? 453次阅读
整理总结一份属于自己的编码风格

C语言位运算+实例讲解

C语言位运算有6种: &, | , ^(亦或), <<(左移), >>(右移)。 注意:参与位运算...

发表于 2018-03-22 16:00 ? 554次阅读
C语言位运算+实例讲解

超详细的C语言运算符优先级

每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的...

发表于 2018-03-20 17:00 ? 650次阅读
超详细的C语言运算符优先级

电子研发低成本方案导致的灾难性后果

当时国内从事动态密码器研发生产的公司并不多,而能拥有自主知识产权的公司更少。公司创始人是剑桥大学毕业...

发表于 2018-03-20 08:42 ? 703次阅读
电子研发低成本方案导致的灾难性后果

C语言位运算实例讲解

作用:实现二倍乘除运算(右移几位相当于除于二的几次方。左移几位,相当于乘上二的几次方。

发表于 2018-03-19 08:44 ? 425次阅读
C语言位运算实例讲解

51单片机程序深入编写裸机代码有助于了解硬件的特...

现将while(1);语句屏蔽掉。我还以为程序不能被正确执行了呢,因为退出了main主函数,就像Re...

发表于 2018-03-19 08:36 ? 693次阅读
51单片机程序深入编写裸机代码有助于了解硬件的特...

从汇编、C语言为起点,再到FPGA开发设计经验总...

在学习一门技术之前我们往往从它的编程语言入手,比如学习单片机时,我们往往从汇编或者C语言入门。所以不...

发表于 2018-03-17 09:19 ? 866次阅读
从汇编、C语言为起点,再到FPGA开发设计经验总...

C语言与汇编语言相互结合的嵌套汇编语言

要提高单片机技能,必须掌握C 语言编程,因为C 语言有强大的??榛芾硭枷?。我想在很多人学习的过程中...

发表于 2018-03-14 18:23 ? 277次阅读
C语言与汇编语言相互结合的嵌套汇编语言

C语言程序例程的文件结构

以往写C语言程序都是一个文件里面写个几十、几百行,在练算法的时候还可以,现在搞开发需要??榛喑?,所...

发表于 2018-03-14 10:32 ? 743次阅读
C语言程序例程的文件结构

如何利用单片机高级C语言编制应用程序

系统由电器和机械两部分组成?;挡糠钟杉拇婀裣湮?、电控锁组成;电器部分由单片机、控制继电器、操作面板...

发表于 2018-03-13 09:46 ? 345次阅读
如何利用单片机高级C语言编制应用程序

C语言访问MCU寄存器用两种方式实现

ICCAVR和GCCAVR没有定义新的数据类型,只能采用标准C的强制类型转换和指针来实现访问MCU的...

发表于 2018-03-12 11:20 ? 1012次阅读
C语言访问MCU寄存器用两种方式实现

FPGA设计的经验技巧,FPGA开发设计经验总结

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在P...

发表于 2018-03-12 10:35 ? 803次阅读
FPGA设计的经验技巧,FPGA开发设计经验总结

关于跳舞机器人的C语言程序设计编写

编写简谱的数组,其中第一项为音符,第二项为节拍,第三项为小车动作值?;褂卸ㄊ逼髦卸洗沓绦?,用它来输...

发表于 2018-03-12 09:50 ? 402次阅读
关于跳舞机器人的C语言程序设计编写

C语言中对引的读写操作 sbit的三种用法

第一种方法:sbit位变量名=地址值 第二种方法:sbit位变量名=SFR名称^变量位地址值 第...

发表于 2018-03-12 09:32 ? 253次阅读
C语言中对引的读写操作 sbit的三种用法

操作系统的内核都是用C语言写的_这不全是嵌入式选...

以一个人从A地到B地为例,面向过程就是需要规划路线,了解路况,自己做好一系列的准备;而面向对象就是坐...

发表于 2018-03-11 20:03 ? 328次阅读
操作系统的内核都是用C语言写的_这不全是嵌入式选...

如果是初学C语言请看完,如何学好C语言绝对精品

C语言程序设计是我们的专业基础课,但是C语言本身却是一个非常强大的工具,它是到目前为止最为广泛使用的...

发表于 2018-03-09 14:47 ? 628次阅读
如果是初学C语言请看完,如何学好C语言绝对精品

C语言源程序的数字滤波算法介绍(九种)

假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();/*...

发表于 2018-03-07 14:43 ? 346次阅读
C语言源程序的数字滤波算法介绍(九种)

C程序语言在电路板上编写一组流水灯

用C程序语言,编写一个程序,让我们的电路板上,产生一组流水灯,让大家看到我们的产品像流水一样闪动。

发表于 2018-03-06 15:14 ? 245次阅读
C程序语言在电路板上编写一组流水灯

库函数头文件大全

库函数是把函数放到库里,供别人使用的一种方式。方法是把一些常用到的函数编完放到一个文件里,供不同的人...

发表于 2018-03-02 10:46 ? 504次阅读
库函数头文件大全

标准函数是什么_标准函数有哪些

在程序设计中,常将一些常用的功能??楸嘈闯傻暮旁诤庵泄┕惭∮?,一般称为标准函数。程序是由若...

发表于 2018-03-02 10:24 ? 618次阅读
标准函数是什么_标准函数有哪些

一文看懂C语言异或运算

异或是一个数学运算符它应用于逻辑运算。本文开始介绍了异或运算的法则,其次介绍了异或运算的作用,最后详...

发表于 2018-03-01 11:52 ? 207次阅读
一文看懂C语言异或运算

C语言编程时常犯的18种错误

C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编...

发表于 2018-02-27 14:51 ? 862次阅读
C语言编程时常犯的18种错误

位置式PID算法的C语言代码

本文主要介绍位置式PID算法的C语言代码以及它的写法,具体的一起来了解一下。

发表于 2018-02-26 10:17 ? 606次阅读
位置式PID算法的C语言代码

你知道嵌入式c中各变量存储位置吗

在进行C/C++编程时,需要程序员对内存的了解比较精准。经常需要操作的内存可分为以下几个类别: ...

发表于 2018-02-24 13:53 ? 870次阅读
你知道嵌入式c中各变量存储位置吗

解析C语言7大编码规范

1 排版规则 1) 程序应采用缩进风格编写,每层缩进使用一个制表位(TAB),类定义、方法都应...

发表于 2018-02-09 15:38 ? 1009次阅读
解析C语言7大编码规范

分享python编程经历

Python已经成为漏洞开发领域的行业标准,读者会发现大多数概念验证工具都是用Python语言编写的...

发表于 2018-02-09 15:27 ? 1395次阅读
分享python编程经历

详细剖析C语言编译过程

编译---->形成目标代码,目标代码是在目标机器上运行的代码。 连接---->将目标代码与C函...

发表于 2018-02-08 17:02 ? 831次阅读
详细剖析C语言编译过程

很全面的嵌入式开发与学习的入门知识

刚刚涉及嵌入式开发者总是先阅读一些指导类型文章,然后就开始对开发语言的选择踌躇不决。是C 还是C++...

发表于 2018-02-08 16:55 ? 1656次阅读
很全面的嵌入式开发与学习的入门知识

大学c语言必背基础知识_c语言基础知识大全

程序中以 /*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序...

发表于 2018-02-08 16:02 ? 2455次阅读
大学c语言必背基础知识_c语言基础知识大全

c语言程序设计知识点

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储...

发表于 2018-02-08 15:39 ? 1086次阅读
c语言程序设计知识点