① stm32 的工程中加有一个STM32F10xR.LIB 的文件 在keil里也打不开 然后在文件夹里双击 使用dxp打开的
STM32F10xR.LIB是库文件,假如你要使用STM32F10x的库函数就必须加进去,如果不适用就不必加了
② stm32启动文件在哪个目录
startup文件夹 。s结尾汇编文件
首先启动文件是用来初始化配置stm32 构造一个运行的环境,启动文件和使用的具体型号有关
比如stm32f10x系列 大容量的一般用startup_stm32f10x_hd.s 中等容量的用startup_stm32f10x_md.s小容量的用startup_stm32f10x_ld.s 当然还有其他版本,可以根据具体情况选择不同的启动文件。
③ 请问STM32程序中的这几个头文件,各有什么作用
main.c
这个不用解释了吧
stm32f10x.h
这个是头文件,它包含了stm32的一些常用宏,寄存器结构体的定义,高版本的库还放着中断向量表。
stm32f10x_rcc.c
这个文件里的固件函数包含了一些对复位、时钟的控制的函数
stm32f10x_gpio.c这个文件里的固件函数包含了对GPIO的操作函数
stm32_eval.c
这个是st公司为其制作的评估板写的程序
system_stm32f10x.c主要包含了对系统时钟设置,一般是对倍频时钟的设置
三、GPIO_InitTypeDef
GPIO_InitStructure;
ErrorStatus
HSEStartUpStatus;
u8
count=0;
四、void
Delay(vu32
nCount);
void
Turn_On_LED(u8
LED_NUM);
希望您能帮助我,我会给您高分的。回答:
1、因为引脚本来就是16个的啊,从pin0~pin15,GPIOA口有16个脚,GPIOB也有16个,GPIOC也有16个,是这样区分的,它是相对于一组io口的细分,ALL来代替的是选中了这一组io
2、不可以,呵呵你要选择到底是GPIOA还是GPIOB还是...C还是...D等等的GPIO_Pin_0
3、GPIO_InitTypeDef、ErrorStatus是两个结构体,u8是定义的unsigned
char你可以通过keil的go
to
definition选项找到它们的定义,这个是标准C的定义
嗯,是的C语言基础不太好,以前学单片机主要是用汇编。
回答:
④ stm32sd卡如何按时间建文件夹的
用md%date%时会再新建一个以新期命名的文件夹,应该这样md%date:~0,-3%就ok了。
⑤ 下载的STM32源码,是个zip文件,解压后有如图这些文件夹,要怎么打开 为何不是一个.c的文档
一般都是那样的
⑥ 如何使用STM32固件库内的函数,特别是里面的参数配置,举例说明!
用keil 5构建模板工程。在keil顶部选Project->New uVision Project, 输入工程名称,进入device选择界面。注意,因为keil 5变成了在线安装Package的模式(即刚安装好软件并不附带各种芯片的包,用哪个下哪个),如果你已经安装了ST的Package,不要用那个Package!!Keil 5暂时不兼容官方库,如果用了的话编译会报错。解决方案:1.使用附带的ARM - ARM Cortex M3 2.如果还不行就下载我这个吧,下载好之后模板就全部构建完成了。
在你想要创建工程的文件夹下创建三个文件夹:Library、Project和Output,把刚才创建的工程所有文件剪切进Project文件夹。好了之后,我们需要添加库函数文件。解压库函数包,把解压目录下Library文件夹中的CM3文件夹和STM32F10x_StdPeriph_Driver文件夹复制到工程目录下Library文件夹下,把标准库目录下的:STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_Std Periph_Template文件夹下的main.c、stm32f10x_conf.h、stm32f10x_it.h、 stm32f10x_it.c 拷贝到你的工程\Project目录下。
用keil打开你刚才创建的工程,右键点击Source Group->Manage Project Item
⑦ STM32怎么缠写用户程序
1、为你的bootloader程序选择存储器地址,因为STM32的存储器FLASH存储程序代码空间为512K,需要进行划分。2、如果需要使用JTAG在线调试,则需要配置区域:3、为您的用户程序选择合适的存储空间:同时配置在线调试区域:4、bootloader程序编写基本流程如下:)检测有无需要更新的标志,用户可自定义。比如说读取flash某位置存储的字节作为标志位。2)如需更新,则调用STM32的FLASH程序擦鞋用户代码部分。3)将新的bin文件(即2进制文件直接烧写进去,需要将keil生成的hex文件转换为bin文件,然后存储到外扩展的flash中)写入到STM32自带的FLASH中去,记住需要与上述设置的用户代码存储区一致。4)更新成功后再跳转至用户程序。5、用户程序需要注意一点,需要在程序运行前重新设置中断向量表,即:NVIC_SetVectorTable()。6、用STM32自带的烧录软件进行烧录时,需要修改项目如下:1)打开安装后目标文件中的map文件夹,我们所用的STM32为512Kflash,所以选取STM32_High-density_512K.STmap,将其分解为两个STmap文件(此文件可用记事本 打开)STmap文件中,扇区是以每2K为一page来显示的,所以boot区我们只需要到page7,用户区我们需要page8到最后。修改完成后再次打开此软件会发现多出了两个flash选项,可以根据此处来选择需要存储的代码区。然后还有一处需要修改
⑧ 最近开始学STM32,才看一点,对于一个工程相比51来说,为什么里面要有什么SYSTEM,USER,CORE,OBJ文件夹
STM32功能太强了,以前在单片机中最多只写几个驱动文件,ARM开发要有启动文件,还有现在一般都用ST公司提供的库函数,所以当然有很多东西了,如果你很熟悉ARM编程的话,这些东西也都可以自己写,但这太耗时了,建议网络《STM32 工程建立》
⑨ stm32的用户文件USER起什么作用
1.解压stm32f10x_stdperiph_lib.zip 可以从ST官方网站免费下载。
2.创建一个Demo文件夹
2.1 新建子文件夹User,用于存放用户源程序
2.2 新建子文件夹Project,用户KEIL工程文件
2.3 在Project下依次创建Obj和List子文件夹,存放编译过程中产生的中间文件。
3. 复制源代码到Demo文件夹
3.1 将stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.1.2Libraries文件整体复制到Demo文件夹下。这就是ST的标准库,是以源代码形式提供的。
3.2 将库中的演示代码IOToggle中的文件复制到Demo\User文件夹.
4. 新建一个Keil MDK工程
4.1 启动Keil MDK,点击菜单 New uVision Project,然后按向导进行操作
4.2 选择CPU类型为 STM32F103ZE (这是安富莱STM32开发板采用CPU类型)
4.3 当提示是否复制启动代码时,请选择否。(我们用最新的库中的启动代码,不用Keil软件自带的旧版本启动文件)
4.4 根据自己的需要修改Target名字。(名字任意)
4.5 为了便于代码管理,在这个Project下创建几个Group (名字可以任意)
User : 存放用户自己写的源代码
RVMDK : 存放启动文件(汇编文件)
StdPeriph_Driver : 存放ST标准库文件
CMSIS : 存放CMSIS接口文件(这也是库的一部分)
4.6 创建好Group后,我们开始依次添加文件。
5. 修改源代码。我们将修改main.c 文件,换成我们自己跑马灯程序。
6. 配置工程, 点击“Options”按钮
6.1 切换到Output。
选择Object文件夹。
在Create Hex File 前打钩。
6.2 切换带Listing。
选择Listings文件夹
6.3 切换到C/C++
添加两个预编译宏 STM32F10X_HD, USE_STDPERIPH_DRIVER (这是ST库用到了这两个宏)
修改Includes路径
6.4 切换到Debug
选择硬件调试器
⑩ stm32程序下面的这些文件夹分别是什么意思
SYS一般用来存放操作系统相关
APP一般用来存放应用程序相关
BSP一般用来放启动相关
LIB一般用来放静态库相关
IICLIB从名字上分析应该是I2C的静态库
事实上文件管理不是一成不变的,你完全可以根据自己的需要来建立文件夹,放置文件。但是建议和芯片/平台无关的代码独立,以便移植。