首页 > TAG信息列表 > STM32F10x
STM32内存知识
在了解STM32内存之前需要了解 MCU 的型号和MDK 中的.map 文件,很多刚学习 stm32 时都不会过多的去了解 MCU 的选型,是在太枯燥了。这里在从新了解一下,久了就熟悉了。 一、STM32命令规则 二、MDK下生成.map文件 在MDK中勾选.map文件的生成,确认后编译一下工程即可生成,map文件。STM32固件库模板创建
1.汇编编写启动文件 starup_stm32f10x_hd.s 设置堆栈指针,设置PC指针,初始化中断向量表,对应C库函数 2.时钟配置文件 system_stm32f10x.c:把外部时钟HSE=8M,经过PLL倍频为72M 3.外设相关的 stm32f10x.h 实现了内核之外的外设的寄存器映射 xxx:GPIO、USART、I2C、SPI、FSMC stm32f10x关于STM32中断函数名的对应规则(关系)
在stm32f10x_it.c主中断服务服务例程(@brief Main Interrupt Service Routines.)文件中末尾有这样一段注释: /******************************************************************************/ /* STM32F10x Peripherals Interrupt Handlers【stm32_STD_lib学习】bsp_Sysclock和GPIO中断
1.bsp_SysClock_Config使用: (1)在工程内加入野火开发板的"bsp_clkconfig.c"和 "bsp_clkconfig.h" 估计这部分的代码差异很小,只有外部晶振的规格会影响结果,但一般都是8MHZ。 (2)注意,由于设置了Flash预存取,文件使用了stm32f10x_flash.c 记得导入这个库文件,并且在stm32f10x_conf.h中【stm32_STD_lib学习】学习标准库的搭建(GPIO)
目标:从官网标准库包中搭建一个能使用GPIO的工程环境 过程:知道实际需要用到的头文件、被调用了的头文件、编译器需要做什么该怎么配置 结果:GPIO工程结构、构建思路 先以上次自己写GPIO库的经验导入如图所示的几个文件,main、startup、核外外设基地址头文件f10x.h、GPIO操作函数封装STM32103更换芯片后报错
Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(298): error: #67: expected a "}" 这些报错都集中在stm32f10x.h里面,这是因为.h文件里面的不同容量的宏没切换过来,在设置里面改掉对应的宏就不报错了关于正点原子stm32f10x除串口USART1外其他串口通信
首先,开发板的串口通信是通过USB进行的,所以开发板上串口1的发送端PA9和接收端PA10是通过跳线帽连接到RXD和TXD上的,如下图; 要用上其他的串口进行通信,就需要将其他串口的发送端与接收端与RXD和TXD通过杜邦线相连,下图笔者以串口2举例; 当然,要记得将串口发送端与RXD相连,串口接收STM32F10x 串口使用DMA
一、DMA简介 DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使STM32(5):番外篇之stm32固件库工程搭建
创建工程目录文件 首先,创建好工程文件目录,比如task4_exit; 然后在里面创建一个proj目录,创建工程选择的文件夹就选择proj,这样创建Keil工程文件都是放在proj里面; 接着在task4_exit的根目录创建一个main.c(空文件即可); 最后在task4_exit的根目录放入如下固件库文件: 1)startup_stm32fSTM32F10X - 时钟(1)
1. clock树手撕STM32库函数工程(1)--自建stm32f10x.h
手撕STM32库函数工程(1)–自建stm32f10x.h 文章目录 手撕STM32库函数工程(1)--自建stm32f10x.h**0. 准备工作及工程文件概览:****0.1 新建一个keil_LED工程文件夹**0.2 在keil_LED文件夹中建立一个keil点灯工程:xxxx**0.3 keil工程中最终包含以下四个文件:** 1、建立Keil工程**1.2021/10/11 智能家具 嵌入式实训 第一天 建立工程文件+烧录
实训目标: 使用的芯片介绍 STM32F103ZET6 查询该芯片? (1) 内核:ARM 32位的cortex-M3 CPU (2) 最大工作频率:72MHZ 存储:256-512K Flash; SRAM; Debug模式:SWD/JTAD接口 左上角:内核以及下载接口 双向箭头:数据总stm32f10x 蜂鸣器配置(三)
void GPIOA_BUZZER_init() { //一、初始化的三步骤 // 0,定义GPIO结构体变量 GPIO_InitTypeDef GPIO_InitStruct; //1,开启GPIO时钟 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE); //2,初始化PA1--->推挽输出 GPIO_知识记录:ifdef中的extern “C“
学习stm过程中会遇到以下代码: #ifndef __STM32F10x_GPIO_H #define __STM32F10x_GPIO_H #ifdef __cplusplus extern "C" { #endif ... #ifdef __cplusplus } #endif #endif 1.避免头文件的重定义 #ifndef __STM32F10x_GPIO_H #define __STM32F10x_GPIO_H 一个大型工程中会出[转]ARM Cortex-M底层技术(3)—编译内核的原理及其应用 - 中蓝闻道 - 博客园
概述: 当前开发中,我使用的Keil开发工具较多(keil526),故以keil为例进行介绍,其他开发环境大同小异。 1. 编译链接的定义 不管我们编写的代码有多么简单,都必须经过「编译 --> 链接」的过程才能生成可执行文件: 编译就是将我们编写的源代码“翻译”成计算机可以识别的二进制格STM32单片机选型
一、STM32命名规则 二、STM32F10x宏定义选择 三、STM32F10x标准库宏定义选择指南者stm32单片机keil5新建工程和组织目录的那些事
32单片机固件库入门(当我们新建工程时…的各种配置和目录结构)–学习笔记 一,关于keil5内部的一系列配置 由于下述代码的存在 每次如果想要包含stm32f10x_conf.h 只需要包含#include "stm32f10x.h"语句,同时包含下述宏定义 #ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_co基于正点原子STM32F103ZET6工程文件修改成C8T6工程文件
1、打开一个正点原子的工程,点击魔术棒 2、修改芯片型号为STM32F103C8 3、修改宏定义ZET6是大容量产品用的是STM32F10X_HD,C8T6是中容量产品,用的是STM32F10X_MD 3. 更换启动文件将startup_stm32f10x_hd.s更换为startup_stm32f10x_md.s 如果CORE文件夹中没有这个startup_st正点原子库模板
CORE: 1.STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 下面的 core_cm3.c 和 文 件 core_cm3.h 2.STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\a rm 下面的 startup_stm32f10x_hd.s 文件 FWLIB: 1.STM3keil5 新建 stm32项目 步骤
建立文件夹Demo_stm32,作为项目根目录 在demo下,建立 OBJ,CORE,STM32F10x_FWLIB,USER,SYSTEM文件夹。 打开并拷贝\8,STM32参考资料\1,STM32F1xx固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver下的inc,和 src 目录到STM32F10x_FWLIB文件夹下 打开并stm32f767 标准库 工程模板
stm32f767 标准库 工程模板 标准库方式已经过时,官方建议使用 HAL库方式!!! 访问网站目录:STM32 Standard Peripheral Libraries https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html 官网 导航栏:Products》Microcontroller》software》STM32 SSTM32建库工程模板
1。建四个文件夹 USER OBJ CORE FWLIB如图: 2.在USER中放 其main.c stm32f10x_conf.h stm32f10x_it.c stm32f10x_it.h system_stm32f10x.c main.c: 主函数stm32f10x_conf.h :包含外设.h文件 stm32f10x_it.c stm32f10x_it.h:编写中断服务函数keil5 手动添加pack 并且查看包( STM32F10x为例 )
从http://www.keil.com/dd2/Pack/#/eula-container上下载找到自己要下载的standalone的pack文件后 (版本限制,低版本的 MDK 不支持高版本的pack,选择对应的版本 pack下载) 点击下载pack运行即可完成pack手动导入,选择file/Device Database 即可看pack是否导入成功。 原文链接:httcannot open source input file “core_cm3.h“
故障原因:缺少核心库 解决办法:加入STM32F10x核心库即可 STM32F10x核心库链接: 链接:https://pan.baidu.com/s/16bX1we_PAPYEpnFsCZcmoQ 提取码:b3wo 操作流程: 点击上方链接,下载核心库。解压到程序根目录,如图: 解压得到两个库文件: 在keil中添加库: 在Libraries\CMSIS\sSTM32调试小记
一.编译后报错: stm32f10x.h(24): error: #256: invalid redeclaration of type name "GPIO_TypeDef" (declared at line 24) }GPIO_TypeDef; stm32f10x.h(38): error: #256: invalid redeclaration of type name "RCC_TypeDef" (de