最近开端学stm32,着实感觉到了stm32和51之间的差异,但也有联络,总我感觉32与51之间最大的差异便是在运用某个外设之前,要对该外设进行时钟的使能(以到达下降功耗的意图),和相关装备。
刚学完跑马灯,下面临跑马灯用到的对IO口的装备相关常识别离对应官方库函数和寄存器进行总结。
明显led的硬件衔接很简略别离衔接了IO口PE5和PB5,另一端串联一个电阻一起接地。
咱们知道任何外设的驱动都要使能相应的时钟,首要看stm32体系的时钟框图
//与该函数相关的一些宏界说 检查RCC_APB2Periph参数的有效性
函数首要检查传入值的有效性,咱们能够看到和RCC_APB2Periph相关的宏界说中,规则了相关参数的取值规模,相关的值实际上是APB2 外设时钟使能寄存器(RCC_APB2ENR)相关位的装备,在这儿咱们也能够看出库函数实际上便是操作寄存器,对操作寄存器进行了一系列的封装。咱们这儿从硬件来看需求发动GPIOB和GPIOE的时钟使能,则RCC_APB2Periph别离为RCC_APB2Periph_GPIOB,RCC_APB2Periph_GPIOE。再看参数NewState 有相关界说可知{DISABLE = 0, ENABLE = !DISABLE}则当NewState为ENABLE时,敞开使能,GPIO相关使能结束。(实际上库函数便是对寄存器RCC_APB2ENR的相关操作,了解该函数便可写出相关的寄存器版别)
与51单片机不同的是每次运用IO口还要对IO口进行初始化,装备IO的形式(MODE),速度(SPEED)及针脚(PIN),
//取GPIO_Mode中的低四位,这儿的做法和GPIO_Mode的值有关,可自行参阅结构体中的值进验证
//该判别的意思是假如形式GPIO_Mode的第五位不是零就履行该句子,由结构体中的形式的值可得假如
//假如为输出形式则用形式GPIO_Mode的低四位GPIO_Speed,便可得到输出形式寄存器中相关装备的
/*咱们知道IO口装备寄存器CRL和CRH都是32位寄存器,把pos*4即可得到对应引脚在相关装备寄
//制了ODR寄存器[1] [2关键字:修改:什么鱼 引证地址:stm32入门——跑马灯(根据stm32f103zet6)
又一款入门级嵌入式开发渠道!米尔STM32MP135中心板新品发布自2007年意法半导体(ST)推出STM32首款Cortex-M内核 MCU,十几年来,ST在MCU范畴的开展是飞速向前的。而2019年ST发布了全新的STM32MPU系列产品线作为新一代 MPU 的模范,有着极富创始含义的异构体系架构兼容并蓄了 MPU 和 MCU 两层优势,遭到业界的喜欢!米尔电子作为ST官方合作伙伴,介意法半导体发布前就取得样品,并组成产品团队研制中心板,此前,米尔发布的根据STM32MP1系列的中心板和开发板遭到广大客户的认可和喜欢,有超越500家的客户挑选,运用职业丰厚。米尔作为嵌入式处理器模组职业的领头羊,咱们的产品更新紧
0.前语最近有用到STM32这款MCU,良久没用Keil感觉各种不适应,遂测验能不能把STM32的开发环境布置到其他更强壮的IDE,成果很满意,以下是装备Clion用于STM32开发的进程记载,供咱们参阅~做嵌入式开发的人对STM32这个渠道应该都是十分了解的,在国内特别盛行,许多产品里边都是根据这个渠道做的计划。大都人在开发STM32的时分用的都是Keil这个老牌IDE,很大一部分原因是因为大大都人开始是从51单片机学习过来的,51便是根据Keil去开发的,然后迁移到STM32的时分也就沿袭下来了。Keil操作简略,简略上手,而且能够很方便地进行调试。可是关于曾经不是做嵌入式开发的软件开发人员来说,面临Keil这种上世纪风格的ID
前期的MCU没有看门狗,就简略引起有些产品死机了不能重启作业。为了防止这个问题,后期的MCU在内部集成了看门狗的功用。为了满意更多运用场景,现在许多MCU都集成了两个看门狗:独立看门狗与窗口看门狗。拿现在咱们了解的STM32来说,都集成了独立看门狗和窗口看门狗,下面就展开来讲讲这个两个看门狗以及它们的差异。独立看门狗独立看门狗,望文生义,便是独立的一个看门狗,由其专用低速时钟 (LSI) 驱动,因而,即便在主时钟产生毛病时依然坚持作业状况。IWDG 最适合运用于那些需求看门狗作为一个在主程序之外,能够彻底独立作业,而且对时间精度要求较低的场合。独立看门狗特性:自在运转递减计数器时钟由独立 RC 振荡器供给(可在待机和中止形式下运转)
首要咱们来看MD4中的关于数据类型的界说:然后咱们跳转到其界说处检查对其的界说:typedef unsigned long u32;typedef unsigned short u16;typedef unsigned char u8;/*首要咱们来知道typedef,这是用来为杂乱的声明界说简略的别号,也便是说,咱们能够用它来给咱们的数据类型来进行界说。*//* 然后咱们再来看之后的unsigned,unsigned用于限制后边的为无符号类型,假如后边不加什么的话,就默以为unsigned int。*//*unsigned long 无符号长数据 unsigned char 无符号字符型 unsigned short无符号短数据*
/******************************************************************************** 函数名 : RCC_Configuration* 函数描绘 : 在MDK4中设置体系各部分时钟* 输入参数 : 无* 输出成果 : 无* 返回值 : 无*******************************************************************************/void RCC_Configuration(void){ /* 界说枚举类型变量 HSEStartUpStatus */ ErrorStatus HSEStar
STM32的时钟体系框图STM32 有4个独立时钟源:HSI、HSE、LSI、LSE。①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或许接外部时钟源,频率规模为4MHz~16MHz。③、LSI是低速内部时钟,RC振荡器,频率为40kHz,供给低功耗时钟。④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。其间LSI是作为IWDGCLK(独立看门狗)时钟源和RTC时钟源 而独立运用而HSI高速内部时钟、HSE高速外部时钟、PLL锁相环时钟、这三个通过分频或许倍频 作为体系时钟来运用。PLL为锁相环倍频输出,其时钟输入源可挑选为HSI/2、HSE或许HSE/
微控制器
4 Microcontrollers with Simulink
Programming the ARM® Cortex®-M4-based
有奖直播维护嵌入式设备与体系的完整性和可靠性——英飞凌 OPTIGA TPM 安全解决计划
【下载】STM32WB根据Custom Template完成客户定制BLE私有协议
【视频】TouchGFX 4.21版更新:TouchGFX Stock和SVG小部件
【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提高性能与信息安全性
【新品】STM32MP13X-支撑Linux、RTOS和Bare Metal运用,新一代通用工业级MPU
【新品】Arm® Cortex®-M33处理器内核,运转频率160 MHz,根据Armv8-M架构并带有TrustZone®
TouchGFX 4.21推出巨大的图形财物库TouchGFX Stock,STM32 MCU用户免费运用!
站点相关:归纳资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式体系轿车电子消费电子数据处理视频教程电子百科其他技能STM32MSP430单片机资源下载单片机习题与教程