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"

用stm32f10x建立新的工程重要步骤的更多相关文章

  1. 用stm32f0x建立新的工程重要步骤

    stm32f10x系列新建空的工程主要原理: 1.添加启动文件 不同的芯片类型的启动文件的容量是不同的,选择适合该芯片的容量作为启动文件. 注意:启动文件是汇编语言编写的,所以文件的后缀名为.s 2. ...

  2. KEIL建立新唐MCU的工程时,移植官网程序报错变量未定义问题解决方法

    最近在使用新唐的MCU,新唐的MCU使用还算方便,你安装好KEIL之后再安装 Nu-Link_Keil_Driver_V3.00.6909 驱动即可建立新唐的MCU工程,注意的是因为新唐MCU是C51 ...

  3. 使用keil建立标准STM32工程模版(图文详细版!)

    1.   模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当 ...

  4. 部署React+webpack工程的步骤

    # 部署React+webpack工程的步骤ps:以Mac os系统做开发环境.因为npm现在使用灰常的慢,所以我使用淘宝境像cnpm. 1,准备工作: 先确保存已经安装了node.js: 2,文件部 ...

  5. QT GUI @创建新的工程

    开发环境: Qt 4.5 Qt Creator 1.3.0 新工程创建步骤: 1. 单击运行Qt Creator,进入欢迎页面.选择"File" -> "New F ...

  6. 在Ubuntu下的Apache上建立新的website,以及enable mono

    1. 在Apache下建立新的web site a. $>cd /etc/apache2/ b. $>vi ports.conf 填加Listen 8090(注意不要打开8080,因为To ...

  7. MyGui笔记(1)建立第一个工程

    记录下学习 MyGui的一些笔记,从建立第一个工程开始. 步骤: 1.右键MYGUI解决方案,添加→新建项目,选择“Win32 项目”,名称为:TestHello.下一步,勾选“空项目”. 2.设置工 ...

  8. PowerDesigner软件建立新模型。

      打开PowerDesigner软件,选择菜单文件->建立新模型,或者敲击键盘ctrl+N   弹出建立新模型窗口,模型类型选择Object-Oriented Model,图选择Class D ...

  9. 【建项目】eclipse maven建立多模块工程

    在工作的时候,大多时候都是用Maven来管理项目,可是一般我们都知道怎么用maven管理工程,却不知道通过Maven自己来建立多模块工程.于是自己抽时间,在网上找些资料,做了起来. 建立简单的Mave ...

随机推荐

  1. jqweui 关于$(document.body).infinite的bug

    jqweui,0.8.2版本infinite存在bug,会存在下拉不触发的情况,解决办法: 源代码3730行附近 Infinite.prototype.scroll = function() { va ...

  2. 关于Retrofit网络请求URL中含有可变参数的处理

    开题:在此默认各位看官对Retrofit.以及Okhttp已经有过一定的了解及应用,所以今天我们不谈基础入门的东西,今天我们谈在Retrofit请求接口管理类中URL参数含有动态参数的处理方式.一般我 ...

  3. Java多线程并发编程一览笔录

    线程是什么? 线程是进程中独立运行的子任务. 创建线程的方式 方式一:将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法 方式二:声明实现 Runnable 接口的类.该 ...

  4. 微信小程序中同步 异步的使用

    https://www.jianshu.com/p/e92c7495da76   微信小程序中使用Promise进行异步流程处理 https://www.cnblogs.com/cckui/p/102 ...

  5. vscode切换界面布局

    调整vscode的控制面板位置 鼠标操作 view>Appearance>Toggle Panel Position   调整控制面板在界面底部 或者界面右侧 2.编辑区分布 鼠标操作 v ...

  6. Oracle 11gR2(11.2.0.4)安装包(7个)作用说明

    在之前使用Oracle10G的时候,官网下载的数据库安装包只有两个文件,解压合并后为完整的安装包. 后来因为检查出多个Oracle漏洞,需要现场Oracle数据库版本需要升级到11.2.0.4,下载的 ...

  7. TimeUnit类中的sleep() 和Thread.sleep()

    TimeUnit是什么? TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep(),在很长一段 ...

  8. Solve Error: nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmt.lib(newaop.obj)

    Error: nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)&quo ...

  9. react使用BrowserRouter打包后,刷新页面出现404

    文档 https://gkedge.gitbooks.io/react-router-in-the-real/content/apache.html nginx nginx.conf server { ...

  10. mybatis05--多条件的查询

    public interface StudentDao { /** * 前台的表单给出的查询条件不能封装成一个对象的时候 * 查询只能是多个参数了! 也就是参数不全是Student中的属性! * 这时 ...