Summary:记录一些自己在跟着学习过程中产生的问题和认为的理解,我是跟着江协科技【STM32入门教程-2023版 细致讲解 中文字幕】https://www.bilibili.com/video/BV1th411z7sn?p=4&vd_source=bb71fa4fece490f8ed30d2347cbd0b4a
的课程学习的。
参考资料:
https://blog.csdn.net/weixin_43217963/article/details/97792677
关于时钟使能
1.使能是什么?
enable,让芯片能正常工作
2.为什么非要使能?
因为STM32内有多种芯片,生产厂家要考虑降低芯片功耗的问题,所以才有这么多个种类的时钟,每个时钟都相当于一个控制开关,默认状态下时关闭的,是disable,所以要用这块芯片,就需要把时钟enable
关于GPIO
1.初始化:
GPIO_InitTypeDef a 和 int a的含义类似,用于初始化GPIO
2.GPIO的八种工作模式:
GPIO_Mode(工作模式)共八种,分别为:
GPIO_Mode_AIN:表示模拟输入,GPIO无效,此时GPIO引脚连接内部ADC
GPIO_Mode_IN_FLOATING:浮动输入,可读取引脚电平,引脚悬空,电平不确定
GPIO_Mode_IPD:下拉输入,可读取引脚电平,内部连接下拉电阻,悬空默认低电平
GPIO_Mode_IPU:上拉输入,可读取引脚电平,内部连接上拉电阻,悬空默认高电平
GPIO_Mode_Out_OD:开漏输出,可输出引脚电平,高电平接高阻态,低电平接VSS
GPIO_Mode_Out_PP:推挽输出,可输出引脚电平,高电平接VDD,低电平接VSS
GPIO_Mode_AF_OD:复用开漏输出,由片上外设控制,高电平接高阻态,低电平接VSS
GPIO_Mode_AF_PP:复用推挽输出,由片上外设控制,高电平接VDD,低电平接VSS
PS:高阻态相当于没有驱动能力的悬空
http://t.csdnimg.cn/a31lA这位博主介绍的很详细,推荐一看
3.GPIO速度
分为2MHZ,10MHZ和50MHZ,50MHZ最快
4.配置高低电平
高电平:
GPIO_SetBits(GPIOC,GPIO_Pin_13);
低电平:
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
5.为什么配置高电平时LED灯灭?
如图,输出电平从右侧PC13进入,如果输入低电平,则LED正向导通,灯亮