原问题见
https://blog.youkuaiyun.com/xydlxd118/article/details/105707499
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语言中堆和栈的区别:
申请方式
栈(satck):由系统自动分配。
堆(heap):需程序员自己申请和释放。
// 待补充
32单片机IO口8种状态的理解
1、浮空输入,据我的理解,就是不接上拉,也不接下拉,外部电路是什么状态,就是什么状态,具有不确定性。
2、上拉输入,就是配置好IO口后,默认与VDD相连的开关闭合,读状态默认高电平,外部有低电平才拉低。
3、下拉输入,与上拉输入一个意思。
4、模拟输入,这个我没用到,也不太理解,套用一下前辈的话:模拟输入是指传统方式的输入,数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。
5、开漏输出:据我的理解就是要加上拉电阻,才能拿到低电平,(nmos管为0时,才接通),外部的上拉电阻的高电平拉到了Gnd,默认输出

本文是关于嵌入式领域的面试题目集锦,涵盖了STM32时钟系统、C语言堆栈概念、单片机IO口状态、故障排查及常见硬件知识。深入探讨了STM32的时钟源、C语言堆栈的区别、单片机上电不运行的原因、STM32F103VCT6的主要参数以及温度传感器应用等。
最低0.47元/天 解锁文章
2134





