![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32笔记
学习
P·C
这个作者很懒,什么都没留下…
展开
-
SPI与IIC的异同
1)SPI需要的线比IIC多原创 2020-09-15 11:11:18 · 4446 阅读 · 0 评论 -
stm32f10x_SPI编程
1,初始化SPI对应的GPIO引脚1)打开对应引脚:SCK,MISO,MOSI,CS等引脚所在GPIO的时钟2)配置对应引脚:SCK,MISO,MOSI的模式(查看参考手册GPIO部分),速度注意CS(NSS)用软件控制,设置成推挽输出e.g:#define FLASH_SPI_CS_HIGH GPIO_SetBits(FLASH_SPI_CS_PORT,FLASH_SPI_CS_PIN);#define FLASH_SPI_CS_LOW GPIO_ResetBits(FLASH_原创 2020-08-12 12:29:20 · 504 阅读 · 0 评论 -
stm32f10x_SysTick
SysTick简介系统定时器,24位,只能递减,存在于内核,嵌套在NVIC中,所有的Coetex-M内核的单片机中都具有这个寄存器。SysTick寄存器CTRL 控制及状态寄存器 (4位有效)第16位: COUNTFLAG (R/W)如果在上次读取本寄存器后, SysTick 已经计到了 0,则该位为 1。第2位: CLKSOURCE (R/W)时钟源选择位,0=AHB/8 ,时钟为9M1=处理器时钟AHB,时钟为72M第1位: TICKINT (R/W)1=SysTick倒数计数到原创 2020-08-04 16:48:28 · 244 阅读 · 0 评论 -
stm32f10x_中断编程框架
中断编程流程1,初始化NVIC,用于处理中断2,初始化要连接到EXTI的GPIO3,初始化EXTI用于产生中断/事件4,编写中断服务函数5,main函数1,初始化NVIC,用于处理中断1)设置优先级分组misc.h中void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);2)配置NVIC初始化结构体,中断源,主优先级,子优先级,使能。void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruc原创 2020-08-04 10:43:27 · 797 阅读 · 0 评论 -
stm32f10x_中断_EXTI
EXTI: 外部中断/事件控制器结构体typedef struct{ uint32_t EXTI_Line; /*!< Specifies the EXTI lines to be enabled or disabled. This parameter can be any combination of @ref EXTI_Lines */ EXTIMode_TypeD原创 2020-08-04 09:47:16 · 411 阅读 · 1 评论 -
stm32f10x_中断_NVIC
STM32 中断非常强大,每个外设都可以产生中断中断类型:1)系统异常,体现在内核(的外设)水平,有10个2)外部中断,体现在外设水平,有60个NVIC嵌套向量中断控制器,属于内核外设,管理包括内核和片上系统的所有外设的中断相关的功能。(core_cm3.h) NVIC 结构体定义,来自固件库头文件:core_cm3.h1 typedef struct {2 __IO uint32_t ISER[8]; // 中断使能寄存器3 uint32_t RESERVED0[24];4 __IO原创 2020-08-03 11:24:44 · 394 阅读 · 0 评论 -
stm32F10x_固件库文件包含,固件库编程模板
//截取于野火视频翻译 2020-07-27 18:16:04 · 248 阅读 · 0 评论 -
stm32F10xx_点灯进阶
#ifndef #define #endif 防止该头文件被重复引用具体用法例如引用头文件stm32f10xx.h#ifndef __STM32F10XX_H#define __STM32F10XX_H头文件内容#endif /* __STM32F10XX_H */main.c#include "stm32f10xx.h"#include "stm32f10xx_gpio.h"int main(void){#if 0 //存储器映射,直接访问内存地址 //打开APB2总线原创 2020-07-27 15:44:59 · 335 阅读 · 1 评论 -
stm32F10xx_操作内存点灯
假如我们的开发板LED灯电路是这样的,我们来点亮绿灯流程:首先要把PB0置0才能点亮,就要用到输出数据寄存器ODR来控制PB0来输出0。假设我们用到了GPIOB的ODR寄存器,但是要想输出的话。1)首先要有时钟(时钟是必要的心脏),找到时钟RCC寄存器控制APB2外设时钟使能寄存器并打开(因为GPIOB外设在APB2总线上)。2)时钟有了,我们还要控制端口配置低寄存器配置成输出模式(stm32有输入输出模式,需要控制)。3)最后让ODR寄存器输出0。具体代码:#include "stm32f原创 2020-07-26 15:40:47 · 285 阅读 · 0 评论 -
stm32F10xx_寄存器映射
最小系统电源(VBAT VDD VSS VDDA VSSA VREF+ VREF-)等晶振IO(主晶振IO,RTC晶振IO)下载IO(用于JTAG下载的IO:JTMS、JTCK、JTDI、JTDO、NJTRST)BOOT IO(BOOTIO、BOOTI,用于设置系统的启动方式)复位IO(NRST,用于外部复位)这5部分IO组成的系统称为最小系统。F10xx系统框图黄色部分是ARM内核部分,右边是stm32的外设部分。ICode:内核必须要通过ICode总线来读取FLASH里编译好的指令原创 2020-07-25 20:01:50 · 361 阅读 · 0 评论