用stm32f0x建立新的工程重要步骤
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"中#define "stm32f10x_conf.h"
用stm32f0x建立新的工程重要步骤的更多相关文章
- 用stm32f10x建立新的工程重要步骤
stm32f10x系列新建空的工程主要原理: 1.添加启动文件 不同的芯片类型的启动文件的容量是不同的,选择适合该芯片的容量作为启动文件. 注意:启动文件是汇编语言编写的,所以文件的后缀名为.s 2. ...
- KEIL建立新唐MCU的工程时,移植官网程序报错变量未定义问题解决方法
最近在使用新唐的MCU,新唐的MCU使用还算方便,你安装好KEIL之后再安装 Nu-Link_Keil_Driver_V3.00.6909 驱动即可建立新唐的MCU工程,注意的是因为新唐MCU是C51 ...
- 使用keil建立标准STM32工程模版(图文详细版!)
1. 模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当 ...
- 部署React+webpack工程的步骤
# 部署React+webpack工程的步骤ps:以Mac os系统做开发环境.因为npm现在使用灰常的慢,所以我使用淘宝境像cnpm. 1,准备工作: 先确保存已经安装了node.js: 2,文件部 ...
- QT GUI @创建新的工程
开发环境: Qt 4.5 Qt Creator 1.3.0 新工程创建步骤: 1. 单击运行Qt Creator,进入欢迎页面.选择"File" -> "New F ...
- 在Ubuntu下的Apache上建立新的website,以及enable mono
1. 在Apache下建立新的web site a. $>cd /etc/apache2/ b. $>vi ports.conf 填加Listen 8090(注意不要打开8080,因为To ...
- MyGui笔记(1)建立第一个工程
记录下学习 MyGui的一些笔记,从建立第一个工程开始. 步骤: 1.右键MYGUI解决方案,添加→新建项目,选择“Win32 项目”,名称为:TestHello.下一步,勾选“空项目”. 2.设置工 ...
- PowerDesigner软件建立新模型。
打开PowerDesigner软件,选择菜单文件->建立新模型,或者敲击键盘ctrl+N 弹出建立新模型窗口,模型类型选择Object-Oriented Model,图选择Class D ...
- 【建项目】eclipse maven建立多模块工程
在工作的时候,大多时候都是用Maven来管理项目,可是一般我们都知道怎么用maven管理工程,却不知道通过Maven自己来建立多模块工程.于是自己抽时间,在网上找些资料,做了起来. 建立简单的Mave ...
随机推荐
- js原生继承之——组合式继承实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- Cracking the code interview
推荐一本书<Cracking the code interview> Now in the 5th edition, Cracking the Coding Interview gives ...
- html标签大全(1)
http标签详解及讲解 1.基础标签 <!DOCTYPE html> <!--表示文本类型--> <html> <!--<html> ...
- Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置
Oracle 12cR1 RAC 在VMware Workstation上安装(上)-OS环境配置 1.1 整体规划部分 1.1.1 所需软件介绍 Oracle RAC不支持异构平台.在同一个集群 ...
- HDU1172(枚举)
猜数字 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- win10环境下python3.5安装步骤
点我去Python官网下载 往下翻几页就能看到各种版本的Python,当前最新的是Python3.6,也没多大区别,我选择的是3.5.2 64位的,点击download 根据自己的电脑配置,我选择的是 ...
- 解决使用Idea/Eclipse编写Hadoop程序包依赖问题
解决使用Idea/Eclipse编写Hadoop程序包依赖问题 解决包依赖的一种简单粗暴方法就是, 把下载下来的Hadoop压缩包解压, 搜索里面所有的额jar包文件,然后复制到一个目录,在使用Ide ...
- jq实战-表单验证
作为学习的记录,方便大家查看,废话不多说,直接上代码 html 结构: <form action="a.php" method="" class=&quo ...
- Quartz_理解1
一.引言 quratz是目前最为成熟,使用最广泛的java任务调度框架,功能强大配置灵活.在企业应用中占重要地位.quratz在集群环境中的使用方式是每个企业级系统都要考虑的问题.早在2006年,在I ...
- ajax问题
1. 代码:var i;for(i=0;i<10;i++){ ajaxServise(i);} 在for循环中调用ajax方法 补充页面上的数据,这样写是错误的,他不会每执行一次fo ...