什么是 STM32
STM32,从字面上来理解,ST 是意法半导体,M 是Microelectronics 的缩写,32 表示32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。STM32 是以32位为一个单位,同时能处理32位。比如51单片机就是一个同时处理8位的单片机。STM32中外设以4个位确定一个引脚功能。 在如今的 32 位控制器当中,STM32 可以说是最璀璨的新星,大受工程师和市场的青睐,无芯能出其右。
CMSIS构架
时钟
51单片机所有的时间基准都是以唯一的晶振为主。STM32每个引脚使用都需要开启相应的时钟功能。
以控制外设时钟的APB2 外设时钟使能寄存器(RCC_APB2ENR)为例介绍:
STM32诞生的背景
51 是嵌入式学习中一款入门级的精典 MCU,因其结构简单,易于教学,且可以通过串口编程而不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学中用的还是 51。51 诞生于 70 年代,属于传统的 8 位单片机,如今,久经岁月的洗礼,既有其辉煌又有其不足。现在的市场产品竞争越来越激烈,对成本极其敏感,相应地对 MCU的 性能要求也更苛刻:更多功能,更低功耗,易用界面和多任务。面对这些要求,51 现有的 资源就显得得抓襟见肘。所以无论是高校教学还是市场需求,都急需一款新的 MCU 来为这个领域注入新的活力。基于这样的市场需求, ARM 公司推出了其全新的基于 ARMv7 架构的 32 位 Cortex-M3微控制器内核。紧随其后,ST(意法半导体)公司就推出了基于 Cortex-M3 内核的 MCU—STM32。目前Arduino 和树莓派发展迅速,但都没有成为主流,而STM32 凭借其产品线的多样化、极高的性价比、简单易用的库开发方 式,迅速在众多 Cortex-M3 MCU 中脱颖而出,成为最闪亮的一颗新星。
http://www.sz-jlc.com。
一块 10CM*10CM 以内的板子,三天做好,50 块就可以搞定,还包邮,不想自己焊接电阻电容二三极管什么的,嘉立创还可以帮你把 PCB 样板上的阻容贴好给你,打样贴片一条龙。
关键字:STM32
引用地址:
STM32 (零)--------STM32介绍
推荐阅读最新更新时间:2024-11-09 10:25
嵌入式编程(以STM32为例)中的volatile,const意义及应用场景
__I、 __O 、__IO是什么意思? 这是ST库里面的 宏定义 ,定义如下: #define __I volatile const /*! defines 'read only' permissions */ #define __O volatile /*! defines 'write only' permissions */ #define __IO volatile /*! defines 'read / write' permissions */ 显然,这三个宏定义都是用来替换成 volati
[单片机]
STM32用DAC播放WAV数据源程序
编译运行很好,接在扩音机上,8000HZ的量化噪声也没有听到。 KEIL5下编译,PA5口声音输出,可以用一根线连接在蜂鸣器口上。 单片机源程序如下: #include system.h #include SysTick.h #include led.h #include usart.h #include key.h #include dac.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入
[单片机]
stm32的SPI初始化
1 void SPIx_Init(void) 2 { 3 RCC- APB2ENR|=1 2; //PORTA时钟使能 4 RCC- APB2ENR|=1 12; //SPI1时钟使能 5 6 //这里只针对SPI口初始化 7 GPIOA- CRL&=0X000FFFFF; 8 GPIOA- CRL|=0XBBB00000;//PA5.6.7复用推挽输出 9 //GPIOA- ODR|=0X7 5; //PA5.6.7上拉,应该不起作用,因为此模式 10 SPI1- CR1&=~(1 6);//关闭SPI来配置某些位 11 12 SPI1-
[单片机]
手把手之STM32启动代码
对于熟悉电脑的伙伴们来说,BIOS(那个蓝色的界面)可能不会太陌生吧,这货就是电脑的启动代码。没有BIOS的电脑,那注定是一块板砖!BIOS主要是做一些开机前的准备工作,例如系统时间设定、启动顺序。。。扯远了 其实电脑本身就是从单片机而来,那么单片机也是有启动代码的,只是我们绝大部分情况 不去关心它。 启动代码究竟都干了些什么工作,为何需要它?想想你在c语言中用到了什么东西,而这些东西却是拿来就可以用的?堆、栈!没错,就是他们。我们知道堆和栈是内存中划分出的一块区域,那为什么我们没有亲自划分呢,因为启动代码帮了你的忙!!!再想想单片机工作的时候,有哪些配置被我们忽略了,而它却可以用?时钟,就是这货,我们可以不配置时钟,而你
[单片机]
STM32的中断优先级详解
中断优先级设置步骤: 系统运行后先设置中断优先级分组。在主函数调用函数: void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup); 整个系统执行过程中,只设置一次中断分组。 针对每个中断,设置对应的抢占优先级和响应优先级: void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);//配置过程 NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;//串口1中断,此处可改为任何有中断功能
[单片机]
【STM32】HAL库 STM32CubeMX教程十二---IIC(读取AT24C02 )
前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 在之前的标准库中,STM32的硬件IIC非常复杂,更重要的是它并不稳定,所以都不推荐使用。 但是在我们的HAL库中,对硬件IIC做了全新的优化,使得之前软件IIC几百行代码,在HAL库中,只需要寥寥几行就可以完成 那么这篇文章将带你去感受下它的优异之处 这可能是目前关于STM32CubeMX的硬件iic 讲的最全面和详细的一篇文章之一了 所用工具: 1、芯片: STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM32F4xxHAL库 5、II
[单片机]
difference for STM32 adc Regular and injected
STM32的每个ADC模块通过内部的模拟多路开关,可以切换到不同的输入通道并进行转换。STM32特别地加入了多种成组转换的模式,可以由程序设置好之后,对多个模拟通道自动地进行逐个地采样转换。 有2种划分转换组的方式:规则通道组和注入通道组。通常规则通道组中可以安排最多16个通道,而注入通道组可以安排最多4个通道。 在执行规则通道组扫描转换时,如有例外处理则可启用注入通道组的转换。 内容来自电气自动化技术网 一个不太恰当的比喻是:规则通道组的转换好比是程序的正常执行,而注入通道组的转换则好比是程序正常执行之外的一个中断处理程序。 再举一个不一定使用的例子: 假如你在家里的院子内放了5个温度探头,室内放了3个温度探
[单片机]