STM32
IOTTEC
一个不追求完美的人
展开
-
【stm32】中断详解
stm32中断的顺序:1)初始化 IO 口。2)开启 AFIO 时钟3)EXTI配置。4)NVIC配置。5)编写中断服务函数。1 NVIC中断优先级管理CM3 内核支持 256 个中断,其中包含了 16 个内核中断和 240 个外部中断,并且具有 256级的可编程中断设置。但 STM32 并没有使用 CM3 内核的全部东西,而是只用了它的一部分。TM32 有 84 个中断,包括 16...原创 2019-11-01 17:20:04 · 16714 阅读 · 3 评论 -
【stm32】工程文件简介
本文简单介绍工程中那些不是用户自己写的程序1 core_cm3.c 和 core_cm3.h不要修改core_cm3.c 和 core_cm3.h ,是 CMSIS 核心文件,提供进入 M3 内核接口,这是 ARM 公司提供,对所有 CM3 内核的芯片都一样。永远都不需要修改这个文件。2 system_stm32f10x.c和system_stm32f10x.h可以看,不要改syste...原创 2019-11-01 15:18:03 · 1787 阅读 · 0 评论 -
STM32中的IIC
第一步:初始化IIC_Init{ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE ); //使能时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7; GPIO_InitStructure...原创 2019-11-01 09:30:07 · 287 阅读 · 0 评论 -
STM32中的C语言
u8 0x00short =u16 0x0000long =int 0x00000000char 0x00float 1.2…double 1.2…char k=1和u8 k=1 输出是一样的char k=a和u8 k=a 输出也是一样的原创 2019-11-01 09:29:42 · 1263 阅读 · 0 评论 -
STM32中的定时器
通用定时器STM32F1 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32 的每个通用定时器都是完全独立的,没有互相共享的任...原创 2019-11-01 09:29:20 · 1221 阅读 · 0 评论 -
【stm32】sys函数详解
sys 文件夹内包含了 sys.c 和 sys.h 两个文件。在 sys.h 里面定义了 STM32 的 IO 口输入读取宏定义和输出宏定义。sys.c 里面只定义了一个中断分组函数。该部分代码在 sys.h 文件中,实现对 STM32 各个 IO 口的位操作,包括读入和输出。当然在这些函数调用之前,必须先进行 IO 口时钟的使能和 IO 口功能定义。此部分仅仅对 IO 口进行输入输出读取和控制...原创 2019-11-01 09:29:01 · 13322 阅读 · 4 评论 -
【stm32】delay详解
什么是SysTickCM3 内核的处理器,内部包含了一个 SysTick 定时器,SysTick 是一个 24 位的倒计数定时器,当计数到 0 时,将从RELOAD 寄存器中自动重装载定时初值,开始新一轮计数。只要不把它在 SysTick 控制及状态寄存器中的使能位清除,就永不停息。ucos下的SysTick首先,我们简单介绍下 UCOSII 的时钟:ucos 运行需要一个系统时钟节拍(类似...原创 2019-10-23 09:26:16 · 18460 阅读 · 0 评论 -
【stm32】时钟详解
众所周知,时钟系统是 CPU 的脉搏,就像人的心跳一样。所以时钟系统的重要性就不言而喻了。 STM32 的时钟系统比较复杂,不像简单的 51 单片机一个系统时钟就可以解决一切。于是有人要问,采用一个系统时钟不是很简单吗?为什么 STM32 要有多个时钟源呢? 因为首先STM32 本身非常复杂,外设非常的多,但是并不是所有外设都需要系统时钟这么高的频率,比如看门狗以及 RTC 只需要几十 k 的时钟...原创 2019-10-18 14:51:35 · 1145 阅读 · 0 评论 -
STM32中的IAR详解
IAR编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(如 USB、USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在 User Flash 中,当芯片上电后,首先是第一个项目代码开始运行:1)检查是否需要对第二部分代码进行更新2)如果不需要更新则转到 4)3)执行更新操作4)跳转到第二部分代码...原创 2019-10-18 11:54:01 · 2241 阅读 · 2 评论 -
【stm32】IO口详解
STM32 的 IO 口概述每个IO口都可以自由编程,IO口寄存器要按 32 位字被访问。很多IO口都是 5V 兼容的,I/O Level 标 FT 的就是 5V 电平兼容的。模式可以由软件配置成如下 8 种模式:输入浮空输入上拉输入下拉模拟输入开漏输出推挽输出推挽式复用功能开漏复用功能配置模式第一种配置:直接在GPIOMode_TypeDef中就配置完成,...原创 2019-10-18 10:27:13 · 4410 阅读 · 0 评论