关于IAR开发STM32配置

简介: 因为自己要学Msp430还有ZigBee发现IAR真的挺好用,,,所以以后想着就用IAR写单片机程序,,这次配置我不会把程序的配置弄得有条理,分开文件夹存放,,,我要把那些文件全都放到一块,,弄得乱七八糟,,,因为自己一开始学习用Keil开发32的时候,,网上的视频建工程全都是建的很有条理,,对...

因为自己要学Msp430还有ZigBee发现IAR真的挺好用,,,所以以后想着就用IAR写单片机程序,,

这次配置我不会把程序的配置弄得有条理,分开文件夹存放,,,我要把那些文件全都放到一块,,弄得乱七八糟,,,因为自己一开始学习用Keil开发32的时候,,网上的视频建工程全都是建的

很有条理,,对于一开始学的自己当时就感觉特麻烦,,,对于初学者更是感觉麻烦,,反而让初学者觉得难,,,,,所以呢!嘿嘿,,,,,,,哪样简单哪样弄

不要以为我不是一个讲究的人哈,我自己建的工程都是很有条理的,,看我Keil的,,,第一次用IAR嘛,,先怎样简单怎样建,,,,,,,,

 

 首先你要有下载的STM32的固件库

 

 新建一个文件夹

 

把库的Library复制粘贴到新建的文件夹里面

 

 然后打开

 

 

 

 然后

然后

然后

然后打开固件库

 

 

 

 然后还是刚才库目录下的这个文件夹

还是复制到Libraries

刚想了想,因为CoreSupport里面就两个文件,所以就直接剪切出来得了

 

 

打开IAR

新建工作空间

 

 新建工程

 

 

 

 

名字自己起就好

 

 

 

 写一个啥也不干的主函数

 

 然后编译,,现在会有许多错误,,一点点的去排除错误

 

 

 

我用的是STM32F10  3Z  E ,,所以选择的STM32F10xxE

 

 

再编译一下

 

 

 

 

 

其实可以看官方提供的数据手册看一下自己的芯片属于哪一种,,,

 

再往上看一下

会看到下面的

 

 

再编译一下

 

忘了刚才先复制过去了.......就在刚才那个地方

 

再编译一下

 

如果出现

是因为版本的问题,,如果用的6.10以上版本还需要勾选上  Use CMSIS 

接着

 

 

 

然后还要一步设置,,配置Flash地址的,

 其实就是设置一下程序,变量啊的存储地方,,可以看一下下图

可以打开看一下那个文件

 

 

 

写一个点亮一个灯的程序

#include "stm32f10x.h"

void LED_Init(void)
{
 GPIO_InitTypeDef  GPIO_InitStructure;
     
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);    
    
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO口速度为50MHz
 GPIO_Init(GPIOA, &GPIO_InitStructure);    
 GPIO_ResetBits(GPIOA,GPIO_Pin_2);
}

int main()
{
  while(1)
  {
    LED_Init();
  }
}

接着就是下载,,我现在手头上有ST-Link,,但是不知道为什么用这个软件好像检测不到我的ST-Link,,所以呢,,就生成Hex文件,然后下载到板子,需要设置软件编译生成hex

自己发现原来自己的ST-Link需要IAR6.2及以上的版本才能用,自己原来的版本是6.10的,,所以自己又安装了一个6.3的,,安装的时候自己没有把原来的卸载掉

直接覆盖安装就行

然后从新编译一下

如果用ST-Link下载---关于ST-Link的设置

 

 

 

 

 

hex文件的路径

 

 

 

好了,,关于为什么要定义这个  USE_STDPERIPH_DRIVER

先查找一下

 

 

 

 

 

对了上面的工程很乱,自己可以多弄几个分组,放不同功能的文件就行,那些文件的功能可以百度一下就知道.没有什么是百度一下解决不了的事情,如果有那就是两下.....,那样即好看又方便管理

可以看别人怎样做的,然后学习学习.祝学习愉快

最后附上程序,,一个就是上面比较乱的,,一个整洁点的,,还有3.5的库

     http://pan.baidu.com/s/1crKq5K 密码:j8r8  这个模板是我用6.10的,如果用以上版本,就按照上面的方法改一下

  

    链接:http://pan.baidu.com/s/1qXJ1S6K 密码:qxlv   这是IAR6.3版本的

还忘了一件事

关于为什么选择Use CMSIS   和修改那个文件

http://blog.csdn.net/copica/article/details/12624027

 

目录
相关文章
|
4月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
704 0
|
1月前
【寄存器开发速成】半小时入门STM32寄存器开发(二)
【寄存器开发速成】半小时入门STM32寄存器开发(二)
|
1月前
|
芯片
【寄存器开发速成】半小时入门STM32寄存器开发(一)
【寄存器开发速成】半小时入门STM32寄存器开发(一)
|
5月前
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
676 2
|
5月前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
558 1
|
4月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
158 0
|
4月前
|
数据安全/隐私保护
STM32F103C8T6实现简易密码锁(CubeMax配置)(一),Oled显示。
项目功能:实现设置密码,登陆密码,后期还可以通过E2PROM实现掉电不丢失数据。通过Oled的显示去判断我们是否设置或者登陆成功。
|
5月前
|
芯片
【STM32】详解RTC实时时钟的概念和配置&示例代码
【STM32】详解RTC实时时钟的概念和配置&示例代码
|
6月前
|
中间件 编译器 调度
STM32cubemx对FreeRTOS的适配(工程模板配置)
STM32cubemx对FreeRTOS的适配(工程模板配置)
356 0