今天给小伙伴分享一篇给stm32新建工程模版

1、首先打开IAR,就是这个样子

2、再建一个目录文件夹

3、建立一个工作空间,以及建好工作空间如右图所示

4、接下来建立工程,Project--------Creat New Project

点击Empty project-------------再点击OK

选择你之前创建的目录里面,取个名字再保存就行了

保存之后就是这个样子

5、这个时候再点保存,就像下图,会跳出一个窗口(如图),这个是保存你的工作空间,取个名字(用原来的工程名字都行),点保存就行

6、接下来添加分组

7、我们要多多添加这样的几个分组,如下

8、在我们之前的目录里面也创建如下的文件夹

9、按图示操作把下载的库文件夹里的这部分 复制 到之前创建的文件夹里

10、按照图示,把iar文件夹里的启动文件全部复制到Startup内

11、再把这三个文件复制到Startup文件夹内

12、继续复制文件,把标准库内(图示)目录下的三个文件复制到User目录下,

之前少做了一件事要把Startup文件夹里面的stm32f10x.h移到User文件夹内,这样看的美观一些。

13、导入文件,之前少创建了一个分组,补上如图所示

导入文件的如下(如图):这里要注意一点,startup_stm32f10x_md.s这个文件是需要根据你的单片机型号来定的,不同型号的单片机这个启动文件不一样,我这里是stm32f103c8t6单片机

14、在App里面创建一个main.c

14、接下来配置工程

15、选择单片机的型号

16、将库配置选成Full,再勾选下面的Use CMSIS

17、将char类型改成 有符号型

18、接下来就是极为重要的一件事,添加group里面.c文件的路径,黄色框的文件都要点进去,再点确认

添加完成的路径图片是这样的

19、到这里,已经完成了七七八八,把鼠标点击到main.c,来编译一下,就是图中的图标

这样编译会出现好多个错误,一看到这么错误肯定会慌

不要慌!!!!!!!!

不要慌!!!!!!!!

不要慌!!!!!!!!

不就是这样的错误么,英文意思是请选择你应用中的单片机型号的启动文件

点击这个错误可以定位到这里

也就是说工程里缺少   #if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)  这么多宏里面的一个

所以我的单片机stm32f103c8t6的启动文件是STM32F10X_MD,按下图所示,添加这个东西之后,再编译

20、再编译之后是下图

这也是有原因的,我们点击一个警告错误,这个是初学者可能不懂,再把这个  USE_STDPERIPH_DRIVER  添加进去

你们肯定会疑问为什么要添加这个这个宏,如下图所示

看红框里面的斜蓝色字体,意思大致就是“如果你不使用外设驱动,在这种情况下,这些驱动不会被包括并且这些应用代码会直接基于外设寄存器”,所以我们需要这样的宏,再编译就显示没有错误,没有警告。

大功告成!!!

IAR 为 STM32新建工程模板(最详细)的更多相关文章

  1. IAR为STM32创建工程模板(基于STM32f103zet6)

    今天给小伙伴分享一篇给stm32新建工程模版 1.首先打开IAR,就是这个样子 2.再建一个目录文件夹 3.建立一个工作空间,以及建好工作空间如右图所示 4.接下来建立工程,Project------ ...

  2. STM32新建模板之寄存器

    创建寄存器的项目模板相对比较简单,这里是基于库文件的模板进行更改的,有不明白的小伙伴可以浏览STM32新建模板之库文件. 一.项目文件 拷贝库文件的工程模板重命名为"stm32f10x_re ...

  3. STM32学习笔记——新建工程模板步骤(向原子哥学习)

    1.  在创建工程之前,先在电脑的某个目录下面建立一个文件夹,我们先把它命名为Template,后面建立的工程可以放在这个文件夹下.在 Template 工程目录下面,新建 3 个文件夹USER , ...

  4. STM32系列之新建工程模板(三)

    今天,我将记录STM32如何新建一个模板步骤 第一步:首先先新建一个文件夹(英文命名的)——作为工程根目录 第二步;在文件夹中新建一个名为USER的子目录文件 第三步:点击 MDK 的菜单:Proje ...

  5. 关于IAR开发STM32配置

    因为自己要学Msp430还有ZigBee发现IAR真的挺好用,,,所以以后想着就用IAR写单片机程序,, 这次配置我不会把程序的配置弄得有条理,分开文件夹存放,,,我要把那些文件全都放到一块,,弄得乱 ...

  6. IAR建立stm32工程

    stm32是一个当下非常流行的微控制器,很多人都加入了学习stm32的行列中,常用的stm32编译器有IAR和mdk两种,接下来是利用stm32固件库3.5在IAR下的建立的工程模板历程: 1.在常用 ...

  7. 基于IAR和STM32的uCOS-II移植

    网上基于MDK的移植数不胜数,但是基于IAR的移植几乎没有,因为官方的例程就是基于IAR的,所以移植起来很简单,没人介绍,但还是得小心谨慎,一不小心就出错,对于新手来说,查找错误可不是那么容易的.IA ...

  8. STM32新建模板之库文件

    一.新建项目文件夹 在桌面创建项目文件夹,用于存放工程,命名为"stm32f10x_project" 在项目文件夹中创建3个文件夹,分别命名为:CMSIS.OUTPUT.STM32 ...

  9. andriod 新建 Activity_ Form (详细设置)

    参考: Starting Another Activity 去创建Activity New->Other->Android->Android Activity->BlankAc ...

随机推荐

  1. php 保留2位小数

    $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,); //10.46 //第二种:利用sprintf格式化字符串 $format_n ...

  2. AI佳作解读系列(六) - 生成对抗网络(GAN)综述精华

    注:本文来自机器之心的PaperWeekly系列:万字综述之生成对抗网络(GAN),如有侵权,请联系删除,谢谢! 前阵子学习 GAN 的过程发现现在的 GAN 综述文章大都是 2016 年 Ian G ...

  3. iOS点击按钮第二次不能旋转View

    原因: 用CGAffineTransformMakeRotation,每次旋转都要在之前最后的角度基础之上再转才有效果. - (void)clickAction: (UIButton *)button ...

  4. BP神经网络设计常用的基本方法和实用技术

    尽管神经网络的研究和应用已经取得巨大成功,但在网络的开发设计方面至今仍没有一套完善的理论做指导,应用中采取的主要设计方法是,在充分了解待解决问题的基础上将经验与试探相结合,通过多次改进性试验,最终选出 ...

  5. 热修复干货| AndFix热补丁动态修复框架使用教程

    本篇文章会与大家一起学习使用阿里的AndFix热修复框架,可以说AndFix是国内热修复技术的开山始祖,尽管现在阿里已经放弃了对这个项目的维护,但是后来很多的热修复技术都借鉴了这一框架的实现思路. 1 ...

  6. Beginning Linux Programming 学习--chapter 1 Getting start--What's linux,GNU,HeaderFiles, Libraries

    "文明的建立的不是机器而是思想" -- 托尔斯泰 Linux truly become a viable operating system, especially in the s ...

  7. java jri null

    java通过jri调用r文件,r文件必须和当前类在同一目录下,然后才能re.eval("source(fpath)")执行脚本;其中fpath为通过re.assign设置的文件全路 ...

  8. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

    package com.hadoop.hdfs; import org.apache.hadoop.yarn.webapp.hamlet.Hamlet; import org.junit.Test; ...

  9. 函数的第一类对象,f格式化,迭代器以及递归

    函数名的第一类对象及使用,f格式化以及迭代器 1.函数的第一类对象 第一类对象 --特殊点 1.可以当作值被赋值给变量 def func(): print(1) a = func a() 2.可以当作 ...

  10. fastjson<1.2.47 RCE 漏洞复现

    这两天爆出了 fastjson 的老洞,复现简单记录一下. 首先使用 spark 搭建一个简易的利用 fastjson 解析 json 的 http server. package cn.hackte ...