C语言宏定义概述
宏定义又称为宏替换,在程序编译的时候对宏定义的内容进行替换。 正如C语言中所讲,函数的使用可以使程序更加模块化,便于组织,而且可重复利用,但在发生函数调用时,需要保留调用函数的现场,以便子函数执行结束后能返回继续执行,同样在子函数执行完后要恢复调用函数的现场,这都需要一定的时间,如果子函数执行的操作比较多,这种转换时间开销可以忽略,但如果子函数完成的功能比较少,甚至只完成一点操作,如一个乘...
宏定义又称为宏替换,在程序编译的时候对宏定义的内容进行替换。 正如C语言中所讲,函数的使用可以使程序更加模块化,便于组织,而且可重复利用,但在发生函数调用时,需要保留调用函数的现场,以便子函数执行结束后能返回继续执行,同样在子函数执行完后要恢复调用函数的现场,这都需要一定的时间,如果子函数执行的操作比较多,这种转换时间开销可以忽略,但如果子函数完成的功能比较少,甚至只完成一点操作,如一个乘...
在调度器简要说明中讲了调度器的分类及比较,同时应该根据不同的场景需求来选择合适的调度器,在这一篇博客主要讲解合作式调度器的具体设计。 基本设计模式 #ifndef _SCHEDULER_H_ #define _SCHEDULER_H_ #include "main.h" #include <stdint.h> typedef struct { void (*tas...
概述 对于简单的超级循环结构,它的主要优点为: 简单,易于理解 几乎不占用系统存储器或CPU资源 然而,“没有投入也就没有回报”,超级循环占用很少的存储器和处理器资源是因为它几乎不为开发人员提供什么功能,同时这种结构,很难在精确的时间间隔内执行任务X,正如我们所看到的,这种限制是一个很大的缺点。 解决这个问题的更好方案是使用基于定时器的中断,在一定的时间内调用函数,基于定...
三大模式 单片机的软件设计大致分为三类,分别为: 前后台顺序执行模式 时间片轮询模式 实时操作系统模式 前后台顺序执行模式 对于很多需求简单的软件,它的代码简单,或者有些单片机性能较差的芯片,前后台模式的设计是最友好的,它不需要考虑整体的实时性和并发性,对于外设初始化之后就只要在while(1)里面循环执行用户代码就可以了。 /** * @brief The a...
倍频程的英文为Octave Band,其中Octave为八度音阶,关于八度音阶在Octave的维基百科中有详细说明,由此可见倍频程实际是从音乐的音阶中过来的。如何理解倍频程呢,1倍频,1/2倍频,1/3倍频程又是什么呢,根据中文的说文解字,“倍“就是翻倍的意思,也就是下一个频率为当前频率的一倍,上一个频率是当前频率的一半。 所以倍频的计算公式为: [f_{n+1}=f_n*2] [设定...
对于这个简易无刷电机控制器,选用labwindows来进行设计,通讯选择使用串口进行通讯,其主要功能为显示电机的实际转速和设定电机的转速,电机的运行状态,同时设定PID值。 该应用为刚接触labwindows时所设计的,整体的设计不够精致,但能够满足需求。 其界面如下: 借助这个示例主要想讲一下labwindows的串口及它的中断回调函数,在labwindows中,串口的设置主要通过Ope...
labwindows的控件繁多,每个控件的API接口函数也不少,如何快速的找到想要使用的API接口函数呢?labwindows的help提供了很大的便利。 标准控件函数查看 以RING控件为例,右键先放置一个RING的控件,选中该控件,右键选择Control Help,会有五个选项,分别为: Operating Ring Controls操作RING控件 Programmin...
参考链接: Labwindows打包制作Setup安装程序的步骤_cvi软件打包发布_小坏坏_的博客-CSDN博客 在我使用的Libwindows/CVI和Matlab的APP Designer在导出到没有软件环境包的电脑时,都需要包含自身的运行环境到没有软件的电脑中去。也就是需要给目标电脑首先安装运行环境。 在Libwindows中制作setup的安装包步骤为: 1)点击Build-...
一、软件安装包下载 软件在百度网盘的我的网盘》软件安装包》Labwindows2017中,把压缩包的三个部分解压出来。 二、软件的安装 软件安装参考以下链接: NI LabWindows/CVI 2017破解版详细安装教程(附破解补丁)_编程开发_软件教程_脚本之家 (jb51.net) 三、新建工程 点击New下面的Project,在这里默认建立了一个Untitled的工作区和工...
声压级理论计算 声压级(Sound Pressure Level SPL)是用来描述声压的大小的,声压就是声音的压力波形,人耳可听的声压范围为\(20\mu Pa - 20Pa\)之间,也就是\(20*10^{-6}-20Pa\),根据声压级计算公式\(SPL(dB)=20*log_{10}(P/P_{ref})\),其中P表示平均声压,Pref表示参考压强,大小为\(20\mu Pa\)...