首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
stm32f103 使用内部48M
2024-09-04
STM32F030 启用内部晶振并配置系统时钟为48M
在文件 system_stm32f0xx.c 里的函数 static void SetSysClock(void) { if (HSEStatus == (uint32_t)0x01) // 存在外部时钟{} else {// 这里添加配置48M代码} } 代码如下 static void SetSysClock(void) { __IO uint32_t StartUpCounter = , HSEStatus = ; /* SYSCLK, HCLK, PCLK configuration -
STM32F103使用内部Flash保存参数
在我们应用开发时,经常会有一些程序运行参数需要保存,如一些修正系数.这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能.将这类数据存在指定的位置,需要修改时直接修改存储位置的数值,需要使用时则直接读取,会是一种方便的做法.考虑到这些数据量比较少,使用专门的存储单元既不经济,也没有必要,而STM32F103内部的Flash容量较大,而且ST的库函数中还提供了基本的Flash操作函数,实现起来也比较方便. 以大容量产品STM32F103VE
stm32f103中断学习总结
一.NVIC 介绍 NVIC 英文全称是 Nested Vectored Interrupt Controller,中文意思就是嵌套向量中断控制器,它属于 M3 内核的一个外设,控制着芯片的中断相关功能.由于 ARM 给 NVIC 预留了非常多的功能,但对于使用 M3 内核设计芯片的公司可能就不需要这么多功能,于是就需要在 NVIC 上裁剪. (STM32中断系统视频学习资料)http://www.makeru.com.cn/live/1392_1124.html?s=45051 ST 公司的
(stm32f103学习总结)—stm32中断系统
一.NVIC 介绍 NVIC 英文全称是 Nested Vectored Interrupt Controller,中文意思就是嵌套向量中断控制器,它属于 M3 内核的一个外设,控制着芯片的中断相关功能.由于 ARM 给 NVIC 预留了非常多的功能,但对于使用 M3 内核设计芯片的公司可能就不需要这么多功能,于是就需要在 NVIC 上裁剪.ST 公司的 STM32F103 芯片内部中断数量就是 NVIC 裁剪后的结果.上面说到 NVIC 控制着芯片的中断相关功能,那么肯定有很多对应的寄存器,在
stm32 晶振不起振
1. STM32f103有内部晶振.刚刚上电时,所有Clock都是源于内部晶振,所以当片内没有程序或内部程序没有使能外部晶振时,外部晶振是不会起振的.2. STM32f103有内部复位电路,只有当检测到外部电压大于电压阀值时才会启动.因为需要检测外部电压,所以模拟Ref/VDDA/VSSA不能开路,做实验是可以将Ref/VDDA与3.3V链接,VSSA与GND链接.3. 串口连接时,要记得正确配置好Boot0和Boot1引脚的电平.4. Jlink链接时,要注意是JTAG模式还是SWD模式.(一
STM32中断系统
1.中断介绍: 1.1 中断概念 CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂 时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序 或中断处理程 序),以处理该事件,该事件处理完后又返回被中断的程序 继续执行,这一过程称为中断.引发中断的称为中断源.比如:看电视 时突然门铃响,那么门铃响就相当于中 断源.有些中断还能够被其他高 优先级的中断所中断,那么这种情况又叫做中断的嵌套.
STM32F103的11个定时器详解(转)
源:STM32F103的11个定时器详解 STM32F103系列的单片机一共有11个定时器,其中:2个高级定时器4个普通定时器2个基本定时器2个看门狗定时器1个系统嘀嗒定时器 出去看门狗定时器和系统滴答定时器的八个定时器列表; 8个定时器分成3个组:TIM1和TIM8是高级定时器TIM2-TIM5是通用定时器TIM6和TIM7是基本的定时器这8个定时器都是16位的,它们的计数器的类型除了基本定时器TIM6和TIM7都支持向上,向下,向上/向下这3种计数模式 计数器三种计数模式向上计数模式:从0开
STM32F103 使用TIM3产生四路PWM
STM32F103 使用TIM3产生四路PWM 程序如下: /******************************************************************************* * 程序说明 : 思路PWM波生成函数 * 函数功能 : 使用TIM3的PWM功能生成思路PWM, * 输 入 : 无 * 输 出 : 四路PWM,通过GPIO引脚复用,对TIM3的四个输出通道引脚重映射为PC6.PC7.PC8.PC9 ********************
stm32之内部功能
本文将提到以下内容: 位带操作 中断 printf重定向 随机数发生器RNG AD/DA DMA 高性能计算能力 加密 ART加速 一.位带操作 在学习51单片机的时候就使用过位操作,通过关键字sbit对单片机IO口进行位定义.但是stm32没有这样的关键字, 而是通过访问位带别名区来实现,即将每个比特位膨胀成一个32位字,通过位带别名区指针指向位带区内容. 支持位带操作的两个内存区的范围是: 0x2000_0000‐0x200F_FFFF(SRAM 区中的最低 1MB
STM32学习笔记:读写内部Flash(介绍+附代码)
一.介绍 首先我们需要了解一个内存映射: stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同. RAM起始地址是0x2000 0000,结束地址是0x2000 0000加上芯片的RAM大小.不同的芯片RAM也不同. Flash中的内容一般用来存储代码和一些定义为const的数据,断电不丢失, RAM可以理解为内存,用来存储代码运行时的数据,变量等等.掉电数据丢失. STM32将外设等都映射为地址的形式
STM32F103 串口-IAP程序升级
STM32F103 串口-IAP程序升级 通常情况下我们给STM32系列的单片机烧录程序文件的时候,使用SWD.J-link或者通过设置BOOT引脚后,使用串口进行程序下载,这样的方式直接一次性将程序文件下载到单片机的flash中,比较适合绝大部分的应用.但是有些应用中产品装配完成后,下载口不便引出的情况下,或者是某些设备需要具有远程更新程序情况下,使用串口IAP的方式将会更加便捷. 一般我们常见的51单片机内部的flash空间,只能使用下载器进行烧录程序.芯片自身无法擦写内部flash空间.这
STM32F103之定时器学习记录
/==============翻译STM32F103开发手册定时器部分========================/ 14 高级控制计时器(TIM1和TIM8) 14.1 TIM1和TIM8介绍 高级控制定时器(TIM1和TIM8)由16位的自动重载计数器组成, 计数器由可编程的预标定器驱动. 它可用于各种各样的目的,包括测量输入信号的脉冲长度(输入捕获), 或者生成输出波形(输出比较,PWM,互补的PWM与死区插入时间). 通过定时器预分频器和RCC时钟控制预分频器, 脉冲的长度和波形周期
STM32F103之DMA学习记录
/================翻译STM32F103开发手册DMA章节===========================/ 13 DMA(Direct memory access) 13.1 DMA介绍 DMA(直接存储器存取)是用来给外设与存储器以及存储器与存储器提供高速的数据传输. 数据可以通过DMA快速地移动而不需经过CPU. 这使得CPU资源可以用于其他操作. 两个DMA控制器一共有12个通道(DAM1有7个,DAM2有5个), 每一个都能专注地管理一个或多个外设的存储器访问请求
STM32F103之ADC学习记录
1.问题 1)10位ADC的误差是多少? 首先要分清分辨率与精度的区别. 10cm的尺子,有100个等分刻度,则该尺子的分辨率为1mm. 但不能说这把尺子的精度是1mm. 在冬天,尺子会热胀冷缩,依然有100格刻度,每格刻度代表1mm,但每格刻度与真实的1mm是不同的,精度在变化. 实际上,10位的ADC将会把基准电压分成1024份,分辨率为:基准电压/1024. 2)ADC的采样频率是多少? 芯片开发手册上转换时间公式为: 例子中,采样频率为1MHz. 3)STM32F103这款芯片有多少个A
STM32F103驱动ADS1118
ADS1118 作为常用温度测量芯片被越来越多的开发者熟知,TI官方给出的是基于 MSP430 的驱动测试程序,由于 STM32 的普及,闲暇中移植了 MSP430 的 ADS1118 驱动程序到 STM32F103 平台下,并进行了测试,特在此记录,以飨读者. 使用 STM32F103 的 SPI2 接口连接 ADS1118 的通信接口: STM32F103|ADS1118-|-|-|PB12|CSPB13|SCLKPB14|DOUTPB15|DIN ADS1118 手册建议数据线之间接一个5
STC8A,STC8G,STC8H系列的IRC内部振荡源频率调节
从STC15开始, 宏晶就在内置RC震荡源(内置时脉, 宏晶称之为IRC)这条路上越走越远. STC15这一代仅仅是"有", 精度和漂移差强人意. 从STC8开始对IRC的调节就越发复杂, 从STC8A/8F的一个频段, 到STC8G/STC8H的两个频段, 到STC8A8K64D4的4个频段, 从CODE预置, 到XDATA只读预置, 可用性也在不断提升. 这里说一下STC8系列的IRC设置. STC8A/STC8F的内部时钟机制 只有一个IRC频段, 频率范围在16-27MHz,
(stm32f103学习总结)—GPIO结构
一.GPIO基本结构 二.GPIO工作模式 输入模式 输入浮空 输入上拉 输入下拉 模拟输入 输出模式 开漏输出 开漏复用功能 推挽式输出 推挽式复用功能 库函数中所对应的代码 1 typedef enum 2 { 3 GPIO_Mode_AIN = 0x0, /* 模拟输入 */ 4 GPIO_Mode_IN_FLOATING = 0x04, /* 浮空输入,复位后的状态 */ 5 GPIO_Mode_IPD = 0x28, /* 下拉输入,这里的下拉是指单片机内部的电阻 */ 6 GPIO_
通过ProGet搭建一个内部的Nuget服务器
.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错.从运维角度,可在不影响老版本的情况下发布新版本,可统一管理公司各个项目中组件版本不一和各个版本组件的使用情况,减少故障发生以并使得项目稳定运行. nuget.org 有个指南Hosting Packages Overview 告诉你如何
微软Azure 经典模式下创建内部负载均衡(ILB)
微软Azure 经典模式下创建内部负载均衡(ILB) 使用之前一定要注意自己的Azure的模式,老版的为cloud service模式,新版为ARM模式(资源组模式) 本文适用于cloud service模式 一个cloud service只能有一个ILB 创建ILB的基本思路 创建一个ILB实例,作为各进入流量的流入段 添加虚拟机的终结点作为流量的接入端 设置谁发送流量到ILB的IP地址 设置谁发送流量在某些情况下可以不设置 创建步骤 步骤一.创建ILB实例 $svc="<Cloud S
简单搭建 nuget 内部服务器
搭建 nuget 内部服务器,最好的方式是使用 ProGet,参考博文<用 ProGet 搭建内部的 NuGet 服务器>,好处非常多,但需要使用 SQL Server 数据库,如果不想使用数据库,相对来说,最简单的方式是使用NuGet.Server,网上教程一大堆,这边我做下自己的记录. 首先,VS 创建一个空的 ASP.NET 应用程序,然后 nuget 命令输入install-package NuGet.Server,接着会自动加载一些代码和文件,其中在 web.config 中会产生这
热门专题
如何检查ROS自带的octomap版本
addr S_un转string
webpy如何获取mysql的值
audio标签自动播放下一个歌
cudamalloc卡住不返回
mpsoc menuconfig和设备树的关系
基于微调的少样本目标检测
express增删改查
pi如何计算指定位数的
调查rabbitmq挂掉原因
potplayer 不要每次打开门都读取目录
java 构造函数中引用自己的构造函数
.net 6 在 Windows 服务中托管
yapi 接口请求无响应
linux 监控日志目录文件大小
Ubuntu12备份还原
base64 图片抓换 透明的底色会变成黑色 的
c# 开源tcp框架
当push后触发Jenkins时会自动同步代码吗
重新安装pywinauto