嵌⼊式⾯试经典30问与⾮标准答案
嵌入式系统是什么意思原问题见
1. 讲⼀下stm32的时钟系统
时钟在MCU中的作⽤,就好⽐于⼈类的⼼脏⼀样不可或缺。STM32有多个时钟源可以使⽤。因为STM32拥有丰富的外设资源,不同外设使⽤的时钟也会不⼀样,同时我们要知道时钟越快,功耗就越⼤,抗电磁⼲扰的能⼒就会减弱,因此,⽐较复杂的MCU 都会采⽤多时钟来解决这些问题。
STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。
①、HSI是⾼速内部时钟,RC振荡器,频率为16MHz,精度不⾼。可以直接作为系统时钟或者⽤作PLL时钟输⼊。
②、HSE是⾼速外部时钟,可接⽯英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~26MHz。
③、LSI是低速内部时钟,RC振荡器,频率为32kHz,提供低功耗时钟。主要供独⽴看门狗和⾃动唤醒单元使⽤。
④、LSE是低速外部时钟,接频率为32.768kHz的⽯英晶体。作为RTC时钟;
⑤、PLL为锁相环倍频输出。提供2-16倍的倍频输出。
2. C语⾔中堆和栈的区别;推挽输出是什么?
C语⾔中堆和栈的区别:
1. 申请⽅式
栈(satck):由系统⾃动分配。
堆(heap):需程序员⾃⼰申请和释放。
// 待补充
32单⽚机IO⼝8种状态的理解
1、浮空输⼊,据我的理解,就是不接上拉,也不接下拉,外部电路是什么状态,就是什么状态,具有不确定性。
2、上拉输⼊,就是配置好IO⼝后,默认与VDD相连的开关闭合,读状态默认⾼电平,外部有低电平才拉低。
3、下拉输⼊,与上拉输⼊⼀个意思。
4、模拟输⼊,这个我没⽤到,也不太理解,套⽤⼀下前辈的话:模拟输⼊是指传统⽅式的输⼊,数字输⼊是输⼊PCM数字信号,即0,1的⼆进制数字信号,通过数模转换,转换成模拟信号,经前级放⼤进⼊功率放⼤器,功率放⼤器还是模拟的。
5、开漏输出:据我的理解就是要加上拉电阻,才能拿到低电平,(nmos管为0时,才接通),外部的上拉电阻的⾼电平拉到了Gnd,默认输出⾼电平。
6、推挽输出:配置后,输出1,PMOS管接通,外输出⾼点平,输出0,NMOS管接通,外输出低电平,输出1.
7、推挽复⽤输出
8、开漏复⽤输出
复⽤功能就是外设的配置。
引⽤CSDN博主「持续学习中」的原创⽂章:
3. 假如⼀个单⽚机上电之后不运⾏?这是为什么?
1、检查供电:直接⽤万⽤表测量VCC和GND的电平,是否符合要求。如果VCC偏离5V或3.3V过多,检查7805或其他稳压、滤波电路的输出。
2、检查晶振:⼀般是多换⼏个晶振上电试试。
3、检查RESET引脚电平逻辑,注意所⽤机型是⾼电平复位还是低电平复位的,防⽌MCU⼀直处于反复被复位状态。
4、如果设计时,程序是从扩展的外部ROM开始运⾏的,还需检查EA脚。
5、检查MCU是否损坏或flash⽆法下载,最好换块新的芯⽚试试。
6、如果测试程序运⾏正常。那就基本确定是控制程序的问题了。
个⼈经验:⾸先检查MCU供电是否正常,再判断擦除和烧录是否正常,再判断控制程序是否正常,⼀般情况下3、4不会出现,对于
STM32来说可以换内部晶振来排除2。
4. 举你⽤过的单⽚机的型号和它的⼀些主要参数
STM32F103VCT6
内核
-ARM 32位 Cortex - M 3处理器
-⾼达72 MHz
内存
-256 KB 的 Flash
-48 KB 的 SRAM
3个12位AD,外部通道16个,内部通道2个
7个通道DMA
8个定时器
12个通信接⼝
-
2个 I 2 C 接⼝
-5 个 UART
-3 个 SPI
-1 个 USB
-1 个 CAN
内置 CRC 计算单元,和96位唯⼀的 ID 号
具体请参考数据⼿册。
5. ⼀个温度传感器模块,按照正确的使⽤⽅式和参数指标,对⼈体⽪肤测量之后,得到的温度⼀直都是35摄⽒度,这是为什么?
猜⼀个:因为该温度传感模块测出的温度为表⾯温度,⽽实际上表⾯温度和实际体温是有差距的。
6.考⼀些结构体、联合体、sizeof⽅⾯的知识
10.485有⼏根线
RS485总线通信的⼀般是两根线,多出的⼀根是公共线,也就是地线G【长距离电缆中的屏蔽层】抑制⼲扰⽤的必需接!总共要接三根,⼀般测试时可以不⽤接。
11.串⼝和并⼝有什么区别
并⾏接⼝是指数据的各位同时进⾏传送,其特点是传输速度快,但当传输距离较远、位数⼜多时,导致了通信线路复杂且成本提⾼;
串⾏接⼝是指数据⼀位位地顺序传送,其特点是通信线路简单,只要⼀对传输线就可以实现双向通信,并可以利⽤电话线,从⽽⼤⼤降低了成本,特别适⽤于远距离通信,但传送速度较慢;
14.局部变量和全局变量分别存放在哪⾥?
C语⾔中局部变量存在栈⾥,全局变量存静态存储区。
15.c语⾔头⽂件的⼯作原理
引⽤头⽂件相当于复制头⽂件的内容,但是我们不会直接在源⽂件中复制头⽂件的内容,因为这么做很容易出错,特别在程序是由多个源⽂件组成的时候。
16.精度和分辨率有什么区别
1、精度是接近真实值的程度, 即绝对误差或相对误差的⼤⼩.精度做到0.01%极其难
2、分辩率是量化刻度的细度⼤⼩。
分辩率⾼是精度⾼的必要条件,不是充分条件;分辩率⾼不等于精度⾼. 认定精度才是王道。写不动了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论