STM32入门编程总结(时钟+GPIO)

发布时间:2023-10-25  

时钟,单片机的时钟好比人的心脏,时钟歇了,单片机也就停止工作了,51单片机就一个时钟,12M、11.0592M居多,11.0592M这么有零有整奇葩的频率主要是为了51单片机串口通信波特率能正好是个整数;STM32单片机有四个时钟,HSI、HSE、LSI、LSE,HIS是内部高速时钟(RC振荡器)8Mhz,经过倍频器后,单片机主频上限可以达到64Mhz,HSE是外部高速晶振8Mhz,经过倍频器后单片机主频上限可以达到72Mhz,LSI是内部低速40Khz时钟(RC振荡器),可以为RTC(实时时钟类似于DS1302)提供时钟,也可以为独立看门狗提供时钟,LSE是32.768khz晶振,为RTC提供时钟,32.768khz这么有零有整的奇葩频率源自于,32768= 2的15次方,RTC时钟内部有个2的15次方分频器,所以32768hz晶振经过分频后正好是1秒,这是整个瓜的来龙去脉。


另外着重提一点,内部时钟(HSI、LSI)都是RC振荡器,HSE、LSE是晶振,晶振和RC振荡器不是一回事儿,说STM32单片机有四个晶振是错误的说法,说有四个时钟没啥问题,外部晶振的稳定性要比内部RC振荡器好一些,外部晶振可以倍频让STM32单片机主频达到72Mhz,内部RC振荡器倍频只能达到64Mhz。


插播一段MCO(main clock output对应PA8引脚),这个引脚可以输出单片机当前工作的主频/二分之一主频,程序设定是72Mhz运行,假设8Mhz晶振虚焊,STM32单片机不是立即停止工作,而是会自动切换到内部RC振荡器采用64Mhz的主频继续工作,对于特别严苛的应用场合,72Mhz和64Mh还是有很大差异,需要知道当前MCU是否稳妥工作在72Mhz,通过MCO这个pin就可以抓取到(1/2PLLCLK)。


再插播一段分频器,2分频器,是把输入端频率除以二然后输出;选择器,是选择某一个作为输入后直接输出;倍频器把频率翻倍,像我当前用的i9-9900k CPU睿频5.0Ghz,这个5.0Ghz不是晶振直接搞到5.0Ghz,而是100Mhz晶振经过内部倍频电路翻50倍搞到5.0Ghz的。


STM32单片机的大部分外设都挂载在APB2、APB1总线上,GPIO、UART1、SPI1、ADC1、2、EXTI、TIM1都是APB2(72Mhz)的小弟,APB1(36Mhz)上挂载的是IIC1-2、CAN1-2、UART2-5、SPI2-2等,APB2上的外设用的频率多一些,毕竟很多小伙伴磨炼了多年也就止步于一LED灯大师。


GPIO口,通用输入输出口,51单片机P0、P1、P2、P3每组从0-7共8个IO口,STM32单片机,分为GPIOA-G,每组0-15共16个IO口,51单片机的IO口比较省心,要么置零要么置1,STM32的IO口花活儿多一些,整体分为两大类,输出类:(1)推挽模式,可以粗略理解为把IO口要么接单片机的VDD,要么接GND,IO口带载上限:25ma,点个灯没啥问题;(2)开漏模式,如果说VDD是IO口的头,开漏模式相当于掀开IO口的头盖骨,让用户去自定义(51单片机P0口:“啊这事儿我熟”),供电电压不再局限于MCU的3.3V,可以5V且通过更大的电流。(复用推挽/开漏是指有的IO口身兼数职,既可以当UART用,又可以当IO口用)。


输入模式:上拉、下拉、浮空、模拟输入,上拉(弱)置高,下拉(弱)置低,浮空啥也不接(默认浮空),模拟输入是使用ADC外设时配置IO口的模式。IO口还有速度选择:LOW、Medium、High,速度越低,功耗越低;IO口接按键,设置为上拉模式比较好,上拉模式的抗干扰能力比下拉强,上拉平时是高电平,来个尖峰干扰还是高电平;下拉平时是低电平,来个尖峰干扰就拉高了会导致误认为有按键按下,所以综合考虑,按键采用IO口上拉更稳妥。

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>