硬件设计师最常见的工作内容是通过写代码来测试硬件。这10个C语言技巧(C语言仍然是常见的选择)可以帮助设计师避免因基础性错误而导致某些缺陷的产生并造成维护方面的困扰
在单片机的开发应用中,已逐渐开始引入高级语言,C语言就是其中的一种。对用惯了汇编的人来说,总觉得高级语言’可控性’不好,不如汇编那样随心所欲。但是只要我们掌握了一定的C语言知识,有些东西还是容易做出来的
1 引言 合成孔径雷达SAR(Synthetic Aperture Radar)成像技术在军事和国民经济中发挥着重要作用。SAR成像软件平台在国外已逐渐成熟,而国内至今还没有良好的SAR成像软件平台。SAR具有探测范围广、提供信息快,并可获得
大家都知道C语言是整个嵌入式开发学习中一门重要的语言,所以学好C语言也是嵌入式开发学习中重要环节。到底如何学习C语言?C语言学习的秘诀是什么?今天本为就为大家揭开这
作者:杨硕,华清远见嵌入式学院讲师。 C语言为我们定义了四种基本数据类型:整型,浮点型,指针以及聚合类型(数组和结构体等),在此基础上,我们就可以声明变量。我们平时经常说定义一个某种类型的变量,其实这样
作者:杨硕,华清远见嵌入式学院讲师。 C语言的声明存在的最大的问题就是你无法以一种人们所习惯的自然方式从左到右阅读一个声明,程序员必须记住特殊的规则才能推断出int *p[3]到底是一个int类型的指针数组还是一个
作者:杨硕,华清远见嵌入式学院讲师。 一.库函数简介: C语言中有一些函数会执行一些标准任务,可以事先对这些函数进行编译,然后将他们放置在一些特殊的目标代码文件中,这些目标代码文件称为库。 库文件中的函数
作者:杨硕,华清远见嵌入式学院讲师。C语言的设计哲学要求对象的声明形式和它的使用形式尽可能相似,比如一个int类型的指针数组被声明为int *p[3];并以*p[i]这样的表达式引用或者使用指针所指向的int数据,所以它的
C语言实现查表跳转程序.可以采用状态机如 switch(state) { case1:state_fuc();break; case2:state_fuc();break; ......... 也可以用if...elseif......else..... 除了用switch或if判断,还有汇编那种goto 下面这种采用
学过C语言的人都知道,main函数是程序启动的入口函数,每一个C语言程序里有一个main函数,在程序里它是唯独一个不能被其他函数调用的特殊函数。在众多的单片机C语言编译器里对main函数的写法都没有明
volatile的意思是易变的、可变的,作用是限制编译器优化某些变量。首先看一段C51程序: Keil在优化级别是为8时得到如下汇编代码(部分未列出): 可以看到,变量d的值赋给x,y,z时,只有x中
一、c程序存储空间布局 C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令; 2)初始化数据段(数据段)——在程序中所有赋了初值的
假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();1、限副滤波/* A值可根据实际情况调整 value为有效值,new_value为当前采样值 滤波程序返回有效的实际值 */#defin
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。 用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。 没有用volatile关键字声明的变
C语言中的ASSERT(断言)宏是嵌入式软件开发人员可以使用的最好的调试工具之一。虽然ASSERT功能强大,但我很少看到它被实施,并且在一些使用它的案例中,它的实施要么是有瑕疵
在单片机应用系统中,常用到许多复杂的数学计算,如计算sin(x)、cos(x)、有效值计算、非线性插值等。这些在高级语言中是简单的工作,而在单片机的汇编语言中却是非常复杂的。因为,这些运算大都要用乘
作者:杨硕,华清远见嵌入式学院讲师。 对指针的应用是C语言编程的精髓所在,而回调函数就是C语言里面对函数指针的高级应用。简而言之,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传
(1)硬件电路 利用4位LED数码管显示电路,可以制成24小时或12小时循环显示的时钟电路,且该时钟可以由人工预置起始时刻,即电路插上电源后,可根据当时的实时时刻,如手机或电视屏上显示的时
标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。这在汇编语言中很容易实现,写几个nop就行了。在keil C51中,直接调用库函数:
作者:杨硕,华清远见嵌入式学院讲师。 要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能