stm32
深海章鱼
这个作者很懒,什么都没留下…
展开
-
正点原子战舰v3笔记(5)外部中断
STM32的每个IO都可以作为外部中断输入。STM32的中断控制器支持19个外部中断/事件请求:线0~15:对应外部IO口的输入中断。 (这里特别注意)线16:连接到PVD输出。线17:连接到RTC闹钟事件。线18:连接到USB唤醒事件。每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。从上面可以看出,STM32供IO使用的中断线只有16个,但是STM32F10x系列的IO口多达上百个,STM32F103ZET6(112),STM32F103R原创 2020-06-16 09:39:46 · 762 阅读 · 0 评论 -
正点原子战舰v3笔记(4)串口和中断代码
优先级笔记void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup){assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup;}NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置优先级分组//输入参数范围#def原创 2020-06-14 15:56:03 · 1766 阅读 · 0 评论 -
stm32f103库函数
注意:外设(包括GPIO)在使用之前,几乎都要先使能对应的时钟。每组IO口含下面7个寄存器, 也就是7个寄存器, 一共可以控制一组GPIO的16个IO口 - GPIOx_CRL :端口配置低寄存器 - GPIOx_CRH:端口配置高寄存器 - GPIOx_IDR:端口输入寄存器 - GPIOx_ODR:端口输出寄存器 - GPIOx_BSRR:端口位设置/清除寄存器 - GPIOx_BRR :端口位清除寄存器原创 2020-06-11 10:14:41 · 2964 阅读 · 0 评论 -
正点原子战舰v3笔记(3)时钟系统
重要的时钟SYSCLK (系统时钟)AHB 总线时钟APB1 总线时钟 (低速) :速度最高36MHzAPB2 总线时钟 (高速) :速度最高72MHzPLL时钟时钟寄存器配置STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功原创 2020-06-05 11:38:55 · 1168 阅读 · 0 评论 -
正点原子战舰v3笔记(2)MDK中寄存器地址名称映射分析
MDK中寄存器地址名称映射分析原创 2020-06-03 22:28:30 · 298 阅读 · 0 评论 -
正点原子战舰v3笔记(0)GPIO寄存器配置介绍
GPIOA 下有十六个 口 从pa0----pa15每组GPIO口都有7个寄存器如果你的设备有 7 组GPIO口 , 那么寄存器就有, 7 * 7 = 49个寄存器,比如:GPIOA 有16个GPIO 那就是由这7个寄存器进行控制GPIOx_CRL : 端口配置低寄存器 配置 0–7 IO口的模式和速度GPIOx_CRH : 端口配置高寄存器 配置 8–15 IO口的模式和速度为什么需要两组呢 ? 因为是32位的寄存器 ,一共只有32个位 ,但是我们配置每一个IO口,原创 2020-06-01 11:36:45 · 2975 阅读 · 0 评论 -
正点原子战舰v3笔记(1)Led灯试验
写跑马灯试验步骤,第一步:先使能io口的时钟,在使用stm32几乎所有的外设,包括io口之前,我们都要使能时钟 ,也就是说,我们要使用gpioA,那么我要使能GPIOA对应的时钟,这个时钟实际上是操作相关的寄存器,对应的位,把它设置为1,外设就开启了没,,否则你外设开启不了,你是无法使用它的,。第二步:调用GPIO初始化函数去,对GPIO初始化第三步:控制GPIO口输出高电频,还是低电频,...原创 2020-05-30 12:36:10 · 1491 阅读 · 0 评论