用stm32f10x建立新的工程重要步骤
stm32f10x系列新建空的工程主要原理:
1.添加启动文件
不同的芯片类型的启动文件的容量是不同的,选择适合该芯片的容量作为启动文件。
注意:启动文件是汇编语言编写的,所以文件的后缀名为.s
2.添加时钟配置 配置文件
stm32f10x.的系统时钟频率配置文件是 system_stm32f10x.c
stm32f4xx.的系统时钟频率配置文件是 system_stm32f4xx.c
3.添加main.c文件
main.c 文件的基本结构,大家都会写吧,这里就不详诉了。
4.添加外设的.c文件,一般是吧所有的外设都有加到工程里面。
5.添加.c文件的所用到的所有.h文件的路径。
也就是告诉编译器头文件的位置。
注意:stm32f10x_conf.h这个C文件,它并不代表任何外设,大家都知道,外设.c文件都有相应的.h文件,
这个stm32f10x_conf.h文件,包含了所有的片上外设的头文件,所以在工程中,必须添加。
——————————————————————————————————————————————————————————————————————————————————
如果你是做好了上面的几个步骤,那么一定会有错误的。
错误的提示是:warning: #223-D: function "assert_param" declared implicitly
从提示的代码,基本上看不出什么问题,发生错误的原理如下:
“stm32f10x.h” 中如果定义了USE_STDPERIPH_DRIVER,该文件就#include "stm32f10x_conf.h"。然而默认的时候是没有#define USE_PERIPH_DRIVER.
解决办法之一:
在“stm32f10x.h”中添加USE_PERIPH_DRIVER的定义。并且,定义芯片的类型。
解决办法之二:
直接在“stm32f10x.h"中#include "stm32f10x_conf.h"
转载于:https://www.cnblogs.com/cjyc/p/6539220.html
用stm32f10x建立新的工程重要步骤相关推荐
- 如何在iar中建立c语言文件,使用IAR创建新工程的步骤
kelly 发布于:周一, 08/15/2016 - 14:57 ,关键词: 新建一个IAR工程有两种方法,新建工程有两种方法,一种是使用工程模板,另一种是使用已存在的工程来建立另外一个工程.这里讲第 ...
- 达芬奇工具链的建立(工程编译步骤)[转]
达芬奇工具链的建立(工程编译步骤)[转] 2010-10-18 18:07 工具链是指的Linux下对程序的编译环境.在这里通过codec_engine_1_02\examples\codecs 下的 ...
- 达芬奇工具链的建立(工程编译步骤),特别是函数中参数传递的输入方法
达芬奇工具链的建立(工程编译步骤) 工具链是指的Linux下对程序的编译环境.在这里通过codec_engine_1_02\examples\codecs 下的videnc_copy工程封装CCS下调 ...
- 建立STM32的工程步骤(版本1)
建立STM32的工程步骤(版本1):
- repo一个新工程使用步骤
1.下载.git # repo init -u ssh://xxxxx2.修改default.xml添加自己帐户权限 # emacs .repo/manifests/dfault.xmlssh://1 ...
- Keil创建一个新的工程详细操作步骤(keil和Proteus联合仿真)
1.创建文件夹 我们首先在一个固定的地方创造一个文件件,后期可以将代码以及和proteus联合仿真的项目也放在这个文件夹里.我这里就放在桌面上进行展示. 2.在keil上创建新的工程 找到keil软件 ...
- 使用keil建立标准STM32工程模版(图文详细版!)
1. 模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当 ...
- STM32(一)----建立嵌入式STM32工程
建立一个STM32工程 前期准备: 版本说明:MDK5.15,如果有更高的版本可使用高版本. 版本号可从 MDK软件的"Help–>About uVision"选项中查询到. ...
- StarUml----逆向工程操作步骤
StarUml----逆向工程操作步骤 利用 StarUml 构建逆向工程的步骤: 步骤一:通过 StarUml 建立一个新的 Logial View. 步骤二:点击上端菜单栏中的 Tools 下拉菜 ...
最新文章
- 解压zip_go|用Go写一个zip解压脚本
- JavaScript初学者编程题(13)
- 知乎热帖:Qt 这么强大为什么火不起来?
- 杠上Spark、Flink?Kafka为何转型流数据平台
- Go(GoLang)解决 cannot find package/golang.org/问题 Grpc+ProtoBuf所需的一些资源
- 【Python基础】盘点 Python 10 大常用数据结构(下篇)
- 新版MySQL8.0.22JDBC连接数据库常见问题解决
- tf.Variable和 tf.get_variable区别(1)
- ajax点击事件无法触发,解决jQuery Ajax动态新增节点无法触发点击事件的问题_婳祎_前端开发者...
- Tracking 的SimTrack 以及 4D seg
- android sd media rw,Android 外部SD卡/U盤無法寫入解決方法(需要root)
- centos7 安装mysql8
- ModuleNotFoundError: No module named ‘MySQLdb‘
- Java String 类型对象不能改变
- c语言常用数学函数6,C语言入门(6)——C语言常用数学函数
- pytorch的vgg19的预训练模型提取图片特征
- Live reload
- 聊一聊为什么JAVA只允许单继承
- 关于 red bend
- poco库 文件服务器,poco
热门文章
- ORB_SLAM2 PnPSolver
- linux7挂载ntfs分区,刚安装centos7,请教大神如何挂载ntfs的分区
- OpenCV+python:模糊操作
- linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本
- 笔记本蓝牙显示输入码无效_如何凭借一把键盘游走桌面?米物蓝牙双模键盘
- 使用Python和OpenCV对轮廓进行排序(从左到右,自上而下)
- Java gdal .mif/.mid文件读取
- 网络模型:(0)背景
- 国产芯片WiFi物联网智能插座—电耗采集功能设计
- 机器学习(10)随机森林(预测泰坦尼克号旅客存活率)