记一次收获

主函数中能不能用while循环?

答:单片机C语言的主程序,能用并且需要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在需要运行的情况下。突然联想到为什么会问“假如要让一个物体一直动下去,需不需要施加一个力”!当时单纯以为是在问物理上面的问题…如果是为了让一个程序一直动下去,需要写一个循环体制造死循环,但先决条件还是程序开始运行,即程序启动,程序启动就相当于给了这个系统一个力,即电力。所以要让一个物体一直动起来,是需要一个力的。
引用:“C语言程序下载到单片机中去,需要经过编译软件贬义词汇编,再变为二进制。一个程序运行到最后一行的程序所对应的汇编,最后一行程序结束后,KEIL这个软件还会自动给加入几行汇编代码,这几行代码就是(1)MOV R0, #0x7F;(2)CLR A; (3)MOV @R0, A; (4) DJNZ R0, (3); (5)MOV SP, #0x0C;(6) LJMP main;这几条语句,前4条,是将我们单片机的内存的前128个地址清零,第5条,是定义堆栈,第6条,是将程序重新跳转到main函数的首行进行执行。”
加while(1)是为了防止main函数返回。
嵌入式中的main函数是不能返回的,如果不加while(1),程序全部执行后会跳转到首行处重新执行,如果不加while(1),不同单片机初始化后会有不同表现,有的会加jmp 0或者call_main后jmp,这会使程序出现出乎意料的结果。

为什么要进行傅里叶变换,为什么傅里叶变换后有助于处理?

答:数学上的傅里叶变换表明任何一个函数都可以分解成正弦函数的线性组合。傅里叶变换可以将数字信号从时域信号波形表示成不同频率的正弦波信号的无限叠加。傅里叶变换是将一个信号转换成多个正弦波信号,从而计算和改变其中需要处理的信号。之所以要进行傅里叶变换,应该是因为拿到一个宏观上的信号不方便处理,通过傅里叶变换的到这个信号分解后的多个正弦波信号,计算和处理这些分解信号,最后通过傅里叶反变换重新组成时域信号。就相当于一辆汽车无法启动了,需要对其进行处理,而直接对整个汽车我们无法使用相应的工具进行处理,就需要对这辆汽车进行拆解,故障汽车可以看作一个信号,而拆解的过程可以看作一种变换,拆解出的零件相当于方便处理正弦信号,而对汽车零件进行检查和处理后,可以重新组装回汽车,这种类比可能不太恰当,即汽车的所有零件并不是规律的同一种形式(周期性),或许将傅里叶变换类比为一张拼图的一部分拼图零件需要处理,对其拆分处理并重组更合适一些。
傅立叶频谱图上我们看到的明暗不一的亮点,实质是图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(图像中的低频部分指低梯度的点,高频部分相反),梯度变化越大,则频率越高,表现则越亮。
引用:
“傅里叶变换简单通俗理解就是把看似杂乱无章的信号考虑成由一定振幅、相位、频率的基本正弦(余弦)信号组合而成,傅里叶变换的目的就是找出这些基本正弦(余弦)信号中振幅较大(能量较高)信号对应的频率,从而找出杂乱无章的信号中的主要振动频率特点。
如减速机故障时,通过傅里叶变换做频谱分析,根据各级齿轮转速、齿数与杂音频谱中振幅大的对比,可以快速判断哪级齿轮损伤。”

什么是滤波器?

答:滤波器就是对波进行过滤的器件。由于信号波在收集和传输过程中会受到各种信号的干扰,为了得到准确的信号,需对其进行滤波处理。
低通滤波器:它允许信号中的低频或直流分量通过,抑制高频分量或干扰和噪声;
高通滤波器:它允许信号中的高频分量通过,抑制低频或直流分量;
带通滤波器:它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声;
带阻滤波器:它抑制一定频段内的信号,允许该频段以外的信号通过。
低频信号应该就是频谱图中梯度变化较小的点。频率指频谱图中的梯度变化。

什么是指针,为什么用指针

指针就是存放地址的变量,指针变量就可以说是存放指针的变量也可以说是存放地址的变量。
至于为什么要用指针当时没有回过神来,现在想起来一开始引入指针就是因为一个典型的例子,就是一个交换两个数的函数swap,如果传入的是变量名过去,在swap函数中的处理相当于是处理局部变量,得到的结果是无法影响到主函数的,这时候就需要传递地址过去,在swap函数中直接对变量本身操作。这样才能将结果影响到主函数中去。

什么是比特率

“比特率是指单位时间内传送的比特(bit)数。单位为bps(bit per second)也可表示为b/s,比特率越高,单位时间传送的数据量(位数)越大。计算机中的信息都用二进制的0和1来表示,其中每一个0或1被称作一个位,用小写b表示,即bit(位)。大写B表示byte即字节,1个字节=8个位,即1B=8b。表示文件的大小单位,一般都使用千字节(KB)来表示文件的大小。”

你可能感兴趣的:(面试,单片机,嵌入式硬件,算法)