
STM32
西米爱吃虾米
每天进步一点点吧。。
展开
-
Source Insight工程拷贝到其他目录下,路径不匹配问题。
概述当我们把一个包含source insight工程的文件夹拷贝到其他路径下,会出现用source insight修改工程文件后,工程文件事件未被修改的情况,反而源目录下的工程文件被修改了。这是由于拷贝后的source insight工程路径未更新导致。正文解决办法就是更新一下拷贝后的工程即可。点击Project --> Synchronize Files更新。结论每次我们拷贝工程到其他目录下,都需要进行上述操作,确保si工程路径匹配。...原创 2021-11-20 15:54:19 · 1451 阅读 · 0 评论 -
STM32F103系统时钟设置
概述实际使用STM32F103单片机时,第一步就是配置系统的工作时钟。我们失常需要选择使用外部时钟源和内部时钟源,这里我们以F103为例子,提供两个函数参考,供大家实际开发中使用配置系统时钟。实例废话不多说,直接上代码。#include "dri_sysclk.h"static void SetSystemClk(eSelectClkSrc _ClkSrc);T_SysClk_Device g_tSysClk_Dev = { .SysClkConfig = SetSystemClk};原创 2021-10-09 22:42:30 · 2736 阅读 · 2 评论 -
IAR for ARM新建STM32工程
前言最近由于工作原因,项目工程会包含一些C++文件,这就导致MDK对项目工程的编译支持不够好,所以需要使用IAR和Source Insight结合的开发方式开发STM32项目。这里我尝试使用IAR for ARM8.40搭建STM32工程。实验分析(一)IAR的下载及安装由于网上已经有很多关于IAR的安装及破解方法,这里就不作过多讲诉。破解完成的结果将如下图所示:(二)新建工程...原创 2020-06-28 21:21:32 · 2275 阅读 · 4 评论 -
STM32启动过程分析
一、概述1、STM32的启动过程:硬件复位后,到执行用户main函数之前的这段时间。MCU主要做的工作:1.硬件设置SP和PC2.根据BOOT引脚状态选择重映射区3.设置系统时钟4.转跳至__main函数执行2、分析启动代码主要可以分为以下几个阶段1.开辟栈空间Stack_Size EQU 0x00000400 ...原创 2019-01-13 20:20:05 · 1124 阅读 · 0 评论 -
STM32F1系列.map文件分析
一、概述我们通过学习STM32F1知道,想要优化代码就必须知道工程的rom和ram的占用情况。所以,我们就要用到.map文件,通过分析.map文件,可以方便查看工程rom和ram的占用情况,包括单个源文件甚至每个函数的rom。问:那.map到底可以分为几个部分呢?答:通过仔细阅读.map文件,我们可以大致分为5个部分: 列出不同函数的调用关系 列出被MDK优化的冗余函...原创 2019-01-14 22:41:59 · 3599 阅读 · 5 评论 -
STM32F1定时器基础知识
一、概述STM32F1系列的定时器可以分为3类:1)高级定时器(TIM1,TIM8):16 位向上、向下、向上/向下自动装载计数器,可以产生DMA请求,有4组捕获/比较通道输出互补PWM信号;2)通用定时器(TIM2~TIM5):16 位向上、向下、向上/向下自动装载计数器,可以产生DMA请求,有4组捕获/比较通道输出PWM信号但不能输出互补PWM信号;3)基本定时器(TIM6...原创 2019-06-16 23:07:15 · 5188 阅读 · 0 评论 -
STM32F1使用DMA方式驱动串口和ADC
一、概述DMA(直接存储器访问)传输方式无需CPU直接控制传输,也没有中断处理方式需要保存现场和恢复现场,其通过硬件为RAM和I/O设备开辟一条类似队列的数据通道来直接传输数据,可以准确快速地传输数据,能大大提高CPU的效率。但是每一时刻只允许DMA的其中一条通道传输数据。下面是STMF1的DMA1的通道一览表。UART(全双工通信),就是我们常说的串口,但准确来说UART是指通用异步...原创 2019-06-11 23:00:22 · 4859 阅读 · 2 评论 -
STM32F1时钟系统简单分析
一、概述 时钟系统是CPU的脉搏,所以说要想深入理解STM32的外设,学习时钟系统是非常有必要的。首先,让我们看看网上找到的STM32F1时钟框图: 在STM32中,有5个时钟源,为HSI、HSE、LSI、LSE和PLL。从时钟频率来分可以分为高速时钟源和低速时钟源,在这5个中HIS、HSE以及PLL是高速时钟,LSI和LSE是低速时钟。从来源可分为外部时钟源和内部时钟源,外部时钟源就是...原创 2019-06-17 22:53:09 · 1778 阅读 · 0 评论 -
PWM控制LED亮度线性变化的单片机实现
一、概述玩过单片机的基本都做过用LED灯实现呼吸灯的功能,但是只要认真观察,会发现LED的亮度变化在低占空比的时候,变化很明显,而在高占空比的时候反而变化很小,导致呼吸灯表现呼吸不均匀的现象呢?带着这个问题,我将为大家介绍如何使用PWM控制,来实现LED亮度的线性变化。二、原理分析首先,我们知道LED驱动是恒流的,而PWM调节的是恒流时间与断流时间的比值,所以占空比和光通量的输出应该是...原创 2019-07-15 09:32:05 · 7364 阅读 · 3 评论