stm32
stronger_er
Keep your eyes on the stars, and your feet on the ground
展开
-
stm32——点亮led(库函数)
在建立工程之后,在工程之下加入led程序 GPIO_InitTypeDef GPIO_InitStructure; 这句话必须要有,这句话是定义一个GPIO InitTypedef类型的结构体void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2...原创 2019-07-10 14:53:34 · 920 阅读 · 0 评论 -
stm32——定时器中断
时钟选择计数器时钟可以由下列时钟源提供1.内部时钟(CK_INT)2.外部时钟模式1:外部输入脚(TIx)3.外部时钟模式2:外部触发输入(ETR)4.内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频。内部时钟选择时钟计算方法除非APB1的分频系数是1,否则通用定时...原创 2019-07-31 20:23:06 · 1139 阅读 · 0 评论 -
stm32——通用定时器
通用定时器概述STM32F10x系列最多有8个定时器三种STM32定时器区别 定时器种类 位数 计数器模式 产生DMA请求 捕获/比较通道 互补输出 特殊应用场景 高级定时器 (TIM1,TIM8) ...原创 2019-07-31 17:09:43 · 2360 阅读 · 0 评论 -
stm32——外部中断
1.STM32的每个IO口都可以作为外部中断输入2.STM32的中断控制器支持19个外部中断/事件请求线0——15:对应外部IO口的输入中断线16:连接到PVD输出线17:连接到RTC闹钟事件线18:连接到USB唤醒事件每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位从上边可以看出来STM32供IO使用的中断线只有16...原创 2019-07-31 15:39:18 · 545 阅读 · 0 评论 -
stm32——串口通信代码
Printf 支持加入以下代码,支持printf函数,而不需要选择use MicroLIB#if 1#pragma import(__use_no_semihosting) //标准库需要的支持函数 struct __FILE { int handle; }; FILE __stdout; //定义_sy...原创 2019-07-31 13:26:07 · 2516 阅读 · 0 评论 -
stm32——串口配置一般步骤
串口配置的一般步骤1、串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd()2、串口复位USART_DeInit(); ——非必需3、GPIO端口模式设置GPIO_Init(); ——模式设置为GPIO_Mode_AF_PP4、串口参数初始化USART_Init();5、开启中断并初始化NVIC(当开启中断的时候才需要这个步骤)NV...原创 2019-07-30 21:18:58 · 9151 阅读 · 0 评论 -
stm32——串口通信相关函数
串口通信的基本原理lUSART_SR状态寄存器lUSART_DR数据寄存器lUSART_BRR波特率寄存器串口操作相关的库函数(省略入口参数)void USART_Init(); //串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能void USART_Cmd();//使能串口void USART_ITConfig();//使能相关中断void USART...原创 2019-07-30 20:52:28 · 1454 阅读 · 0 评论 -
stm32——串口通信
1.通信接口背景知识处理器与外部设备通信的两种方式并行通信传输原理:数据各个位同时传输优点:速度快缺点:占用引脚资源多串行通信传输原理:数据按位顺序传输优点:占用引脚资源少缺点:速度相对较慢串行通信按照数据传送方向,分为单工:数据传输只支持数据在一个方向上传输半双工:允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一...原创 2019-07-30 20:33:57 · 873 阅读 · 0 评论 -
stm32——中断优先级管理
1.NVIC中断优先级分组1.CM3内核支持256个中断, 其中包含16个内核中断和240个外部中断,并且具有256级的可编程中断设置。2.STM32并没有使用CM3内核全部的东西,而是只用了他其中的一部分。3.STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。4.STM32F103系列上边,又只有60个可屏蔽中断(在107系列才有68个)...原创 2019-07-30 17:09:40 · 16734 阅读 · 4 评论 -
stm32——端口重映射
什么是端口重映射????????????每个配置都有若干个输入输出引脚,一般这些引脚的输出端口都是固定不变的,为了让设计工程师可以更好的安排引脚的走向和功能,在stm32中引入了外设引脚重映射的概念,即一个外设的引脚除了具有默认的端口外,还可以通过设置重映射寄存器的方式,把这个外设的引脚映射到其他的端口。为了使不同器件封装的外设IO功能数量达到最优,可以把一些复用功能重映射到其他一些引脚上...原创 2019-07-30 15:48:23 · 10044 阅读 · 1 评论 -
stm32——端口复用
端口复用是什么????????stm32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。例如串口1 的发送接收引脚是PA9,PA10,当我们把PA9,PA10不用作GPIO,而用做复用功能串口1的发送接收引脚的时候,叫端口复用。端口复用配置过程——以PA9...原创 2019-07-30 15:12:11 · 5880 阅读 · 0 评论 -
stm32——按键(库函数版)
不得不说进程太慢了感觉很慌 但是干什么事情又非常的从容学的很慢学着学着发现 不止是要学新东西 那些 以前早该知道的东西也忘了好多还有 一定一定要好好学习 扩展知识面 什么东西都一定要学精因为知识的封锁真的真的很可怕 很可怕 所以一定多学习 多动手 要加油终于可以看这个的重点了 按键就好像遥控器 当按下换频道的键时候我们一直按会一直换但是 当按下电源键的时候 即使一直按...原创 2019-07-21 11:35:33 · 13976 阅读 · 9 评论 -
SystemInit时钟系统初始化函数剖析
SystemInit函数解读初始化之前首先通过宏定义定义系统时钟频率:#define SYSCLK_FREQ_72MHz 72000000初始化之后的状态: SYSCLK 72MHz AHB 72MHz PCLK1 36MHz PCLK2 72MHz...原创 2019-07-30 13:25:10 · 590 阅读 · 0 评论 -
stm32——时钟系统
时钟系统框图stm32时钟系统知识总结1.stm32有5个时钟源:HSI\HSE\LSI\LSE\PLL1>HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高2>HSE是高速外部时钟,可接石英或陶瓷谐振器,或者接外部时钟源,频率范围4MHz-16MHz3>LSI是低速内部时钟,RC振荡器,频率为40MHz,提供低功耗时钟。WDG4>LS...原创 2019-07-30 13:06:23 · 301 阅读 · 0 评论 -
stm32 ————C语言复习以及MDK中寄存器地址名称映射分析
目录位操作define 宏定义关键词ifdef条件编译extern变量声明typedef类型别名结构体static关键字MDK中寄存器地址名称映射分析位操作六种位操作运算符 运算符 含义 运算符 含义 & 按位与 ~ 取反 | 按位或 << 左移 ^...原创 2019-07-29 20:42:32 · 767 阅读 · 0 评论 -
stm32——蜂鸣器(库函数版)
堕落了好多天,才又刚刚开始学现在让蜂鸣器叫了,并且伴随led的闪烁,虽然用的不是定时器,还是延时程序,不过一步一步继续加油啦!首先创建完工程之后建议多添加一些原子哥自己写的system程序上边有三个文件夹,可以在前边创建工程的时候加上去之后就是写led的程序和蜂鸣器的程序(建议一个模块写一个.c文件和一个.h文件,以后要是有很多文件的时候可以将所以.c文件放在一个文件夹里,所有...原创 2019-07-20 11:13:48 · 7272 阅读 · 3 评论 -
stm32——创建工程(库函数版)
创建工程有什么好难的,真不敢相信我今天中午搞了一中午;不过步骤确实比较繁琐;(STM32F1xx固件库参见:https://download.csdn.net/download/xiaomo_haa/10939364)这个可能会用到1.首先我们要先建一个文件夹,来存放所有的文件。2.点击MDK的菜单:Project—>New Uvision Project,新建工程文件,然...原创 2019-07-09 20:01:28 · 2609 阅读 · 1 评论 -
stm32——PWM输出
STM32 PWM工作过程CCR1:捕获比较(值)寄存器(x = 1、2、3、4);设置比较值CCMR1:OC1M[2:0]:对于PWM方式下,用于设置PWM模式1[110]或者PWM模式2[111]CCER:CC1P位:输入/捕获1输出极性。0:高电平有效,1:低电平有效CCER:CC1E位:输入/捕获1输出使能。0:关闭,1:打开PWM模式1&PWM模式...原创 2019-08-01 11:18:06 · 1421 阅读 · 0 评论