由于自己的粗心大意 导致构建库函数 这一个简单的事 弄了好几个小时
所以我决定把这个配置的过程记录下来
我们按照这个逻辑来 就没有啥问题
前面构建工程过程 就不多赘述
新建文件夹 点击鼠标右键 选择add grup
长按 可以修改文件夹的名字
然后就是从已经有的固件库中导入文件
STRATUP 只需要选择 那个stm32f10x_ hd.s 结尾的
配置成这样就可以了
然后我们选择编译会发现出现error 但是千万不要慌
为什么呢 原因就是 就是我们锤子还没完成配置
点击锤子 选择c/c++
点击这里 添加一下路径 这里的路径不能带中文 选择这三个就可
然后我们点开user 的main.c 文件 点击头文件stm32f10x.h 选择 open 它
然后 CTRL +F 输入stm32f10x_conf
可以看到
将这个ifdef 后面的复制一下 复制到下面的这个位置就ok了
然后重新编译 完美
关键字:STM32 库函数 配置
引用地址:
STM32 构建库函数
推荐阅读最新更新时间:2024-11-09 17:18
关于STM32芯片的三种烧写方式对比
我们做STM32产品开发,最终是要将编写的程序代码写进芯片存储器,通常指Flash存储器【含可以映射到芯片存储空间的片外存储器】,让程序正常运行起来以实现相应的功能。 一般来讲,将我们准备好的机器代码HEX或BIN文件等写进片上FLASH可以有三种常用的烧写方式。【温馨提示:下面提到的烧写方式的术语或称谓不是绝对的,对于不同的器件可能有不同的表述甚至内涵,这里仅针对STM32,知道怎么回事就好】 第一种,ICP【In circuit programming】,即在电路编程或在线编程【注:不必太纠结该术语名字或称谓。平常称之为ICP也挺好】。一般是指利用调试器通过调试接口将程序代码写进芯片存储器的过程。调试器可以是ST官方的
[单片机]
步进电机的常用驱动方式
步进电机的驱动 stm32为例,使用ULN2003,TB6600电机驱动板,介绍步进电机的常用驱动方式。 步进电机 我使用的是一个教学用的小步进电机,驱动电压只有5V,所有的步进电机驱动原理都是类似的,电机详情如图。 产品参数 该模块为5线4相步进电机,可以使用普通的uln2003芯片驱动。 驱动要求:能够提供较快的电流上升和下降速度,使电流波形经量接近矩形。提供具有戒指期间释放电流流通的贿赂,以前降低绕组两端的反电动势,加快电流衰减。具有较高的功率及效率,步进电机的转速与脉冲信号的频率姐可以对单机进行调速。 内部结构图 四拍驱动方式 在四线驱动方式中,每次仅有一个线圈通电,对磁铁具有吸引作用,从而使电机进行转
[单片机]
STM32单片机中的C语言基础知识
C语言是单片机开发中的必备基础知识,本文列举了部分STM32学习中比较常见的一些C语言基础知识。 1 位操作 下面我们先讲解几种位操作符,然后讲解位操作使用技巧。C语言支持以下六种位操作: 下面,重点讲解一下位操作在单片机开发中的一些实用技巧。 1.1 在不改变其他位的值的状况下,对某几个位进行设值 这个场景在单片机开发中经常使用,方法就是我们先对需要设置的位用&操作符进行清零操作,然后用 | 操作符设值。 比如,我要改变GPIOA的状态,可以先对寄存器的值进行&清零操作: 然后再与需要设置的值进行|或运算: 1.2 移位操作提高代码的可读性 移位操作在单片机开发中非常重要,下面是d
[单片机]
stm32电机控制之控制两路直流电机
小车使用的电机是12v供电的直流电机,带编码器反馈,这样就可以采用闭环速度控制,这里电机使用PWM驱动,速度控制框图如下: 由以上框图可知,STM32通过定时器模块输出PWM波来控制两个直流电机的转动,通过改变PWM占空比的大小可以改变电机的转速,由于我们的控制目标是实现电机运行在速度范围内任意给定的速度,这里就需要采用闭环控制的思想,通过编码器获取电机的实时转速,通过与给定速度做差,将偏差作为PID控制器的输入,通过PID控制改变PWM占空比的大小,从而使电机的速度运行在给定的速度上。 这里使用的电机驱动芯片为TB6612,该芯片可以十分方便的驱动两个直流电机的运行,其驱动逻辑表如下: AIN1,A
[单片机]
学习STM32单片机之结构体思想
学习内容: 1.我们在操作寄存器的时候,操作的是寄存器的绝对地址,如果每个寄存器都这样操作,那将非常麻烦。 2.我们考虑到外设寄存器的地址都是基于外设基地址的偏移地址,都是在外设基地址上逐个连续递增的,每个寄存器占32 个或者16 个字节,这种方式跟结构体里面的成员类似。 3.定义一种外设结构体,结构体的地址等于外设的基地址,结构体的成员等于寄存器,成员的排列顺序跟寄存器的顺序一样。这样我们操作寄存器的时候就不用每次都找到绝对地址,只要知道外设的基地址就可以操作外设的全部寄存器,即操作结构体的成员即可。 下面先定义一个GPIO 寄存器结构体,结构体里面的成员是GPIO 的寄存器,成员的顺序按照寄存器的偏移地址从低到高排
[单片机]
STM32不同外部晶振时工程的配置问题
遇到的问题: 同样的串口配置代码在一种407开发板上能正常输出,但是换到另一种407开发板上后就出现乱码,检查串口输出波形后发现,电平转换芯片没有问题,但是波特率却有问题。 问题原因: 经过故障排查发现出现上述问题的原因是两种STM32F407使用的外部晶振的频率不一样,前者使用的是25MHZ的晶振,而后者却是使用的8MHZ的晶振,如果代码未经更改而直接用在后者身上,就会出现上述串口乱码的情况,而且后者的每bite位的周期就是前者的三倍左右。 解决办法: 方法一: 因为 STM32F407的库文件中默认晶振值为25MHz,若外接晶振8MHz。所以: 1.首先需要修改 Option for target
[单片机]
基于STM32和以太网的远程电参数测量系统设计
摘要 针对目前各地用电及收费管理不便的问题,文中研究了基于ARM和以太网的远程电参数测量技术。该技术主要用于对电参数的采集和存贮。主控制器采用32位的ARM微处理器STM32F103V,接口硬件设计配合上位机显示电参数。上位机采用LabVIEW的DataSocket枝术编写实现显示功能。通过上下位机的结合,完成电能的计量,进而方便收费管理。 随着人们用电管理方式逐步、向着更加智能、高效和网络化的改善。文中结合网络技术,采用高性能的以太网控制芯片W5100,利用专用的电能计量芯片CS5460A研究了电参数的远程传输。通过W5100嵌入以太网,可以实现数据的远程传输,有效地将经CS5460A采集的电流值、电压值及功率值传送
[测试测量]
STM32 串口采用DMA方式收发
什么是DMA —- Directional Memory Access, 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作 我们通过以下几方面学习串口DMA: 一、如何理解DMA 对于DMA,打个比方就很好理解: 角色预设: 淘宝店主 —- STM32 MCU 快递员 —- 外设(如UART,SPI) 发货室 —- DMA 1、首先你是一个淘宝店主,如果每次发货收货都要跟快递沟通交涉会很浪费时间和精力。 2、然后你就自己建了一个发货室,发货室里有好多个货柜箱子,每个箱子上都写着快递名字(如果申通快递,顺丰
[单片机]