STM32学习
文章平均质量分 85
wlisontj
这个作者很懒,什么都没留下…
展开
-
【STM32F407学习笔记】MPU6050(一)原始数据获取
MPU-60X0是全球首例9轴运动处理传感器。它集成了3轴MEMS陀螺仪、三轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP,可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其I2C或SPI接口输出一个9轴的信号。MPU60X0的陀螺仪和加速度计分别采用了三个16位的ADC,将其测量的模拟量转化为客户处的数字量。传感器的测量范围是用户可控的,陀螺仪可测范围为±250±500±100±2000°秒。原创 2023-06-08 21:00:24 · 2769 阅读 · 1 评论 -
【STM32F407学习笔记】模拟IIC驱动OLED
OLED 由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。中我们已经实现了模拟IIC的所有时序,包括起始信号、停止信号、应答ACK信号、非应答NACK信号以及读取一字节ReadByte和发送一字节SendByte,因此剩下的工作就是通过这些时序,模拟出OLED通信所需要的信号即可。有了这两个函数之后就可以编写OLED的所有驱动函数了,下面是整个OLED驱动的实现。原创 2023-06-08 10:40:57 · 1612 阅读 · 1 评论 -
【STM32F407学习笔记】模拟IIC协议
IIC通信协议(Inter-Integrated Circuit)是由飞利浦公司开发的,由于它的引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通信协议的外部收发设备,被广泛地应用在系统内多个集成电路(IC)间的通信。下面我们分别对IIC协议的物理层及协议层进行讲解。原创 2023-06-07 20:02:59 · 2005 阅读 · 0 评论 -
【STM32F407学习笔记】初识STM32F4
如APB1总线下的第一个外设就是TIM2,它所占据的地址范围是0x4000 0000-0x4000 03FF,那么在这个范围内TIM2的寄存器地址又是怎么映射的呢?STM32内部的程序存储器(FLASH)、数据寄存器(RAM)、寄存器和IO端口都排列在同一个顺序的4GB的地址空间内,我们编程时也是依据此地址来找到相应寄存器操作。Block2用于设计片上的外设寄存器,根据外设的总线速度不同,Block2被分成了APB和AHB两部分,其中APB又被分为APB1和APB2,AHB分为AHB1和AHB2。原创 2023-05-30 20:12:38 · 1190 阅读 · 1 评论 -
【STM32F407学习笔记】点亮一个LED
GPIO是通用输入输出端口的简称,GPIO的最基本功能是输出和输出。它也是芯片内部和外部电路连接的唯一接口。GPIO的基本功能是输入和输出,但是STM32本身就是一个很复杂的系统,内部外设繁多,基本的GPIO功能是无法满足外设需求的,因此将GPIO分为8种模式。输入浮空输入上拉输入下拉模拟输入具有上拉或下拉功能的开漏输出具有上拉或下拉功能的推挽输出具有上拉或下拉功能的复用功能推挽具有上拉或下拉功能的复用功能开漏这八种模式对应外设不同的工作要求。原创 2023-05-31 11:40:56 · 684 阅读 · 1 评论 -
【STM32F407学习笔记】串口外设USART
通信的方式分类:并行通信,串行通信并行通讯特点:控制简单,传输速度快;由于传输线多,适用于距离近传输2)串行通信:指数据的各位在同一根数据线上逐位串行通讯特点:控制复杂,传输速度慢;只需要一个线,适用于远距离传输。串行通信方式分类在串行通信中,根据对数据流的分界、定时及同步方法不同,可分为同步串行通信方式和异步串行通信方式。原创 2023-06-02 21:19:35 · 1029 阅读 · 0 评论 -
【STM32F407学习笔记】中断优先级管理与外部中断
【STM32F407学习笔记】中断优先级管理与外部中断1. 中断介绍1.1 中断的概念1.2 中断的产生1.3 中断处理的流程2. STM32内嵌向量中断控制器2.1 NVIC控制器的寄存器2.2 中断管理方法2.3 中断的配置3. EXTI外部中断3.1 EXTI基本结构3.2 SYSCFG_EXTICRx 外部中断配置寄存器3.3 EXTI 框图4. 软件设计5. 总结计算机系统中中断占有极其重要的地位,在嵌入式系统中更是如此。中断机制能让计算机有效合理的发挥效能和提高效率。涉及外设:EXIT外部中原创 2023-06-06 23:40:53 · 2150 阅读 · 0 评论 -
【STM32F407学习笔记】时钟树和SysTick精准延时
时钟系统是CPU的“脉搏”。只有有了系统时钟单片机才会协调、稳定的工作。STM32F4的时钟系统比较复杂,不像简单的51单片机一个系统时钟就可以解决一切问题。SysTick一系列定时器,是属于CortexM4内核中的一个外设,内嵌在NVIC中。系统定时器是一个24bit的向下递减的计数器。计数器每计数一次的时间为:1/SYSCLK。当重装载数值寄存器的值递减到0时,系统定时器产生一次中断,以此循环往复。fff代表频率,单位是HZ(次/秒);TTT代表周期,单位是s(秒)。fHz1T。原创 2023-06-04 11:10:12 · 1952 阅读 · 1 评论 -
【STM32F407学习笔记】中断优先级管理NVIC
系统运行后先设置中断优先级分组,调用函数:void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);整个系统运行中只设置一次中断分组。针对每个中断,设置对应的抢占优先级和响应优先级,调用函数:void NVIC_Init(NVIC_InitTypeDef * NVIC_InitStruct);如果需要挂起/解挂,查看中断当前激活状态,分别调用相关函数即可。原创 2023-04-25 16:28:16 · 556 阅读 · 0 评论 -
【STM32F407学习笔记】IO引脚复用和映射
STM32有很多内置的外设,这些外设的引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候就叫做。剩余串口的配置在后续的专门章节中展开。原创 2023-04-25 15:58:58 · 533 阅读 · 1 评论 -
【STM32F407学习笔记】GPIO(一)
位2y:2y+1 OSPEEDRy[1:0]:端口x配置位(y=0,1,…位2y:2y+1 MODERy[1:0]:端口x配置位(y=0,1,…位2y:2y+1 PUPDRy[1:0]:端口x配置位(y=0,1,…位32:16 BRy:端口x复位位y(y=0,1,…位15:0 BSy:端口x置位位y(y=0,1,…位15:0 IDRy[15:0]:端口输入数据(y=0,1,…位15:0 OTy[1:0]:端口x配置位(y=0,1,…这些位为只读形式,只能在字模式下访问,它们包含相应IO口的输入值。原创 2023-04-23 20:21:42 · 878 阅读 · 1 评论 -
【STM32F407学习笔记】GPIO(二)
使用STM32F407Discovery套件,对端口输入和输出进行实验验证。首先需要初始化外设,分别是LED和Key。在STM32F407 Discovery板载资源中,按键的形式为第一种,因此需要设置为输入下拉(PuPd_DOWN)例如单独控制PA端口输出数据寄存器中的ODR的位15:0只能以字(16位)的形式进行操作。支持位带操作后,可以使用普通的加载存储指令来对单一的bit进行读写操作。),只需要操作映射后的位带别名区的地址就可以实现操作ODR的Bit位了。对于按键输入检测,首先需要确定按键的状态。原创 2023-04-25 10:10:23 · 322 阅读 · 1 评论 -
【STM32F407学习笔记】SysTick定时
【代码】【STM32F407学习笔记】SysTick定时。原创 2023-04-23 15:52:05 · 487 阅读 · 1 评论