![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 725 阅读 · 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 · 1705 阅读 · 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 · 2929 阅读 · 0 评论 -
正点原子战舰v3笔记(3)时钟系统
重要的时钟 SYSCLK (系统时钟) AHB 总线时钟 APB1 总线时钟 (低速) :速度最高36MHz APB2 总线时钟 (高速) :速度最高72MHz PLL时钟 时钟寄存器配置 STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时 钟源,频率范围为4MHz~16MHz。 ③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功原创 2020-06-05 11:38:55 · 1118 阅读 · 0 评论 -
正点原子战舰v3笔记(2)MDK中寄存器地址名称映射分析
MDK中寄存器地址名称映射分析原创 2020-06-03 22:28:30 · 269 阅读 · 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 · 2957 阅读 · 0 评论 -
正点原子战舰v3笔记(1)Led灯试验
写跑马灯试验步骤, 第一步:先使能io口的时钟,在使用stm32几乎所有的外设,包括io口之前,我们都要使能时钟 ,也就是说,我们要使用gpioA,那么我要使能GPIOA对应的时钟,这个时钟实际上是操作相关的寄存器,对应的位,把它设置为1,外设就开启了没,,否则你外设开启不了,你是无法使用它的,。 第二步:调用GPIO初始化函数去,对GPIO初始化 第三步:控制GPIO口输出高电频,还是低电频, ...原创 2020-05-30 12:36:10 · 1449 阅读 · 0 评论