第二天
主要讲解了STM32的时钟树和GPIO,时钟的概念和作用内部2个时钟,外部2个时钟切换配置,GPIO的多模式运用等等。
个人理解STM32的时钟相对51来说是比较复杂,因为其有内外各2个,总计4个时钟源的选择。再加上有分频器,倍频器和选择器可以切换到各个模块的工作频率,初步接触感觉比较难。不过百问网讲的比较详细,利用STM32CUBEmx工具配置还是可以很快上手的,再熟读一下代码进行理解消化。
GPIO的有8种配置模式:推挽输出,开漏输出,复用推挽,复用开漏,上拉输入,下拉输入,浮空输入,模拟输入等
对于其中推挽输出的MOS管讲解有点疑问,MOS管作为开关使用,“输出控制”向两个MOS管栅极加一定电压,P-MOS管源极和漏极之间导通,
VDD 经过P-MOS管的S->G->D输出,N-MOS管处于高阻态(电阻很大,近似开路),整体对外为高电平;
“输出控制”取消向两个MOS管栅极施加电压,P-MOS管源极和栅极截止,P-MOS管处于高阻态,N-MOS
管源极和漏极导通,整体对外为低电平。
请大家发表意见解惑。
实践理解
1,通过编写代码让led闪烁 用到了库函数初始化,led引脚配置,模式配置,时钟配置
2,对比默认时钟代码和时钟频率改变的代码找出不同点。
3,配置按键输入代码,通过按键控制LED亮灭。
|