lixinghui

C语言宏定义概述

宏定义又称为宏替换,在程序编译的时候对宏定义的内容进行替换。 正如C语言中所讲,函数的使用可以使程序更加模块化,便于组织,而且可重复利用,但在发生函数调用时,需要保留调用函数的现场,以便子函数执行结束后能返回继续执行,同样在子函数执行完后要恢复调用函数的现场,这都需要一定的时间,如果子函数执行的操作比较多,这种转换时间开销可以忽略,但如果子函数完成的功能比较少,甚至只完成一点操作,如一个乘...

调度器简要说明

概述 对于简单的超级循环结构,它的主要优点为: 简单,易于理解 几乎不占用系统存储器或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...