![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32F1XX标准库的学习
qq_33553024
这个作者很懒,什么都没留下…
展开
-
第十九章:stm32之定时器
一:定时器中断实现步骤① 能定时器时钟。 RCC_APB1PeriphClockCmd();② 初始化定时器,配置ARR,PSC。 TIM_TimeBaseInit();③开启定时器中断,配置NVIC。 void TIM_ITConfig(); NVIC_Init();④ 使能定时器。 TIM_Cm转载 2018-02-05 16:16:30 · 301 阅读 · 0 评论 -
第九章:STM32 对于NVIC中断优先级的设置
NVIC中断优先级管理:首先是中断分组,我们知道所用的CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。然而STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。而我所用的STM32F103系列上面,又只有60个可屏蔽中断(在10转载 2017-12-26 16:21:28 · 2967 阅读 · 0 评论 -
第八章:端口复用和重映射
(部分重映射:部分管脚重新映射到其他管脚;完全重映射:所有管脚都重新映射到其他管脚;)1 端口复用功能 所以,我们在使用复用功能的是时候,最少要使能2 个时钟: 1) GPIO时钟使能 2) 复用的外设时钟使能 同时要初始化GPIO以及复用外设功能 2 端口重映射 如果不需要重映射,只是使能复转载 2017-12-24 21:53:18 · 2265 阅读 · 1 评论 -
第七章:系统滴答定时器(systick)应用
1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。滴答中断?这里来简单地解释一下。操作系统进行运转的时候,也会有“心跳”。它会根据“心跳”的节拍来工作,把整个时间段分成很多小小的时间片,每个任务每次只能运行一个“时间片”的时间长度就得退出给别的任务运行,这样可以确保任何一个任务都不会霸占转载 2017-12-24 21:51:26 · 2055 阅读 · 0 评论 -
第六章:STM32时钟初始化函数SystemInit()详解
STM32时钟初始化函数SystemInit()详解转载 2013年08月05日 13:57:484530花了一天的时间,总算是了解了SystemInit()函数实现了哪些功能,初学STM32,,现记录如下(有理解错误的地方还请大侠指出):使用的是3.5的库,用的是STM32F107VC,开发环境RVMDK4.23我已经定义了STM32F10X_转载 2017-12-24 21:47:52 · 3543 阅读 · 0 评论 -
第五章:在STM32给的库中stm32f10x_gpio.h的头文件中出现了这样的代码: #ifdef __cplusplus extern "C" { #endif的
时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代原创 2017-12-23 09:36:14 · 2569 阅读 · 0 评论 -
第四章:STM32 GPIO各种模式的深入理解
GPIO基本结构2第一:浮空输入模式;在这张图上,阴影的部分处于不工作状态,尤其是下半部分的输出电路,实际上是与端口处于隔离状态。黄色的高亮部分显示了数据传输通道,外部的电平信号通过左边编号1的I/O端口进入STM32,经过编号2的施密特触发器的整形送入编号3的“输入数据寄存器”,在“输入数据寄存器”的另一端(编号4),CPU可以随时读出I/O端口的电平转载 2017-12-22 23:49:48 · 1177 阅读 · 0 评论 -
第三章:stm32新建工程及配置
3.1 新建文件3.1.1 新建文件夹在 STM32-Template 文件夹下,我们新建四个文件夹,分别为DIF、Doc、Listing、Output、User。其中DIF中包含两个文件夹CMSIS和Fwilb, CMSIS 用来存放库为我们自带的启动文件和一些 M3系列的通用文件。CMSIS文件里存放的文件适合任何M3内核的单片机,CMSIS 的 缩写为:Cortex Micr原创 2017-12-22 21:07:47 · 577 阅读 · 0 评论 -
第二章:KEIL编译STM32程序出现test.sct(7): error: L6236E: No section matches&nbs
KEIL编译STM32程序出现test.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.其原因很简单,就是没有加载启动代码,其格式是.s形式。加载上就可以了,希望帮到新手。 编译之后没有报错。转载 2017-12-22 12:11:49 · 3197 阅读 · 1 评论 -
第十章:STM32串口USART1的使用方法和程序
概念 在STM32的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。(好吧我也不是很懂,暂且贴上官方定义,各位看官自己悟吧) 配置步骤打开时钟(RCC配置) 由于UART的TX和RX和AFIO都挂在APB2桥上,因此采用固件库函数RCC_APB2PeriphClockC转载 2017-12-28 23:40:29 · 7017 阅读 · 3 评论 -
第十一章:STM32学习之库目录、文件简介
先从官网下载STM32 的3.5 版库。解压库文件后进入其目录:stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.5.0Libraries 文件夹下是驱动库源码和启动文件Project 文件夹下是用驱动库写的一个例子和工程模板库帮助文档,这是一个已经编译好的HTML 文件,主要讲述如何使用驱转载 2018-01-06 17:01:29 · 2946 阅读 · 0 评论 -
第十八章:STM32之窗口看门狗
一:窗口看门狗窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在 T6 位 (WWDG->CR 的第六位)变成 0 前被刷新,看门狗电路在达到预置的时间周期时,会产生一个 MCU 复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果 7 位的递减计数器数值(在控制寄存器中)被刷新, 那转载 2018-02-03 19:03:46 · 276 阅读 · 0 评论 -
第十七章:STM32独立看门狗(IWDG)的使用
单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号) 。感觉是是自动复位功能,就是在一定时间内你应该去喂它而如果程序中途进入了死循环(就是喂不了了)这个MCU就挂了。。但如果没开IWDG ,你不知道它挂没挂原创 2018-01-15 15:20:25 · 2347 阅读 · 0 评论 -
第十六章:中断服务函数的调用机制
(初学中断,学到中断服务函数时感受到蛋蛋的惊讶,main中并没有调用但确实执行了,简直超出了我对c的理解,几番百度之后,总算有所收获!)1首先是定性的理解:当中断触发之后会保存当前堆栈和寄存器(不清楚还有没有其他)的状态,然后程序跳转到中断向量(就是中断服务程序首地址)执行,执行完毕后返回之前的运行状态。2中断服务函数是如何写入中断:eg:void EXIT0_IRQHandl转载 2018-01-12 21:25:06 · 15278 阅读 · 1 评论 -
第十六章:STM32处理器启动代码的理解
[cpp] view plain copy/** ****************************************************************************** * @file startup_stm32f10x_md.s * @author MCD Application Tea转载 2018-06-05 16:11:56 · 3356 阅读 · 1 评论 -
第十五章:外部中断EXTI的配置注意事项
1,EXTI_InitTypeDef 定义于文件“stm32f10x_exti.h”:typedef struct{u32 EXTI_Line; //外部中断通用I/O映像 EXTIMode_TypeDef EXTI_Mode; //模式EXTIrigger_TypeDef EXTI_Trigger; //触发方式FunctionalState EXTI_LineCmd;转载 2018-01-08 10:30:07 · 459 阅读 · 0 评论 -
第十四章:STM32-外部与事件的区别
这张图是一条外部中断线或外部事件线的示意图,图中信号线上划有一条斜线,旁边标志19字样的注释,表示这样的线路共有19套.图中的蓝色虚线箭头,标出了外部中断信号的传输路径,首先外部信号从编号1的芯片管脚进入,经过编号2的边沿检测电路,通过编号3的或门进入中断挂起请求寄存器,最后经过编号4的与门输出到NVIC中断检测电路,这个边沿检测电路受上升沿或下降沿选择寄存器控制,用户可以使用这两个寄存器控制需要翻译 2018-01-08 09:29:06 · 1160 阅读 · 0 评论 -
第十三章:STM32-外部中断学习
中断分类 STM32的EXTI控制器支持19 个外部中断/ 事件请求。每个中断设有状态位,每个中断/ 事件都有独立的触发和屏蔽设置。STM32的19个外部中断对应着19路中断线,分别是EXTI_Line0-EXTI_Line18:线0~15:对应外部 IO口的输入中断。线16:连接到 PVD 输出。线17:连接到 RTC 闹钟事件。线18:连原创 2018-01-08 08:47:31 · 2344 阅读 · 0 评论 -
第十二章:STM32是如何进入中断函数xxx_IRQHandler的
STM32是如何进入中断函数xxx_IRQHandler的,如:void USART1_IRQHandler(void) 前段时间开始接触STM32的时候遇到这样一个问题,程序里面配置好中断设置时,程序运行的时候是怎么进入中断函数的(当然这里所说的中断都是硬件中断),因为跑C程序的时候,本人的理解是,你总得有个“接力棒”或者一个“入口”吧,它才能进入到下一个函数中去。 以uart1配置作为转载 2018-01-06 19:37:59 · 13969 阅读 · 2 评论 -
第一章:STM32串口ISP下载
1、参考资料 《STM32F1开发指南-库函数版本》-3.4.2 STM32串口程序下载2、PA9(T) PA10(R) 串口下载引脚3、USB/串口转换电路 CH340 FLYMCU4、下载硬件连接:PA9 和 PA10跳线帽 B0和B1和GND跳线帽5、STM32的ISP下载,只能使用串口1,其他串口只能用作串口通信,不能进行串口下载转载 2017-12-21 22:40:56 · 1206 阅读 · 0 评论