首页 STM32F429 Discovery IAR工程建立与LED点亮

STM32F429 Discovery IAR工程建立与LED点亮

举报
开通vip

STM32F429 Discovery IAR工程建立与LED点亮 STM32F429 Discovery IAR工程建立与 LED点亮 一般在电脑上我们安装好编程环境后为了测试一下是否工作正常,一般都会写一 个最简单的程序测试一下,这就是经典的"Hello World"了.但在单片机系统上,想要 输出一个"Hello World"看起来并不像是一个开始,而像是一个结果,并且这个过程并 不是那么简单. 对于单片机来说,最简单的操作应该就是 GPIO的输入输出了,那就在单片机 GPIO 上接一个 LED,让点亮 LED来代替输出"Hello World"向这世界问好吧....

STM32F429 Discovery IAR工程建立与LED点亮
STM32F429 Discovery IAR工程建立与 LED点亮 一般在电脑上我们安装好编程环境后为了测试一下是否工作正常,一般都会写一 个最简单的程序测试一下,这就是经典的"Hello World"了.但在单片机系统上,想要 输出一个"Hello World"看起来并不像是一个开始,而像是一个结果,并且这个过程并 不是那么简单. 对于单片机来说,最简单的操作应该就是 GPIO的输入输出了,那就在单片机 GPIO 上接一个 LED,让点亮 LED来代替输出"Hello World"向这世界问好吧. 软件环境: IAR For ARM 6.7 硬件环境: STM32F429 Discovery 目标: 点亮位于单片机 PG13, PG14两个引脚上的两个 LED. STM32F429 Discovery LED相关部分电路如下, 可以看出只要引脚输出高电平, LED即会被点亮. http://www.DevLabs.cn 一.STM32F4工程 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 的建立. 1.在 ST官网下载 STM32F429 Discovery的固件包,地址为: http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090. 2.建立一个文件夹,取名为 Template. 因为 STM32工程的建立并不像 51那样简 单,所以我们建立一个工程模板,以便以后使用. 3.在 Template文件夹中新建三个文件夹,分别取名为 user, startup, inc, 分 别用于存放库模块头文件, 启动文件, 用户自己编写的文件. 4.将 STM32F429I-Discovery_FW_V1.0.1\Libraries\CMSIS\Include 这个文件 夹中的 core_cm4.h, core_cm4_simd.h, core_cmFunc.h, core_cminstr.h 四个文件 复制到 Template\inc 文件夹中. 5.将 STM32F429I- Discovery_FW_V1.0.1\Libraries\CMSIS\Device\ST\STM32F4xx\Include 中的 STM32F4xx.h, system_stm32f4xx.h两个文件也复制到 Template\inc 文件夹中. 6.将 STM32F429I-Discovery_FW_V1.0.1\Projects\Template 文件夹中的 stm32f4xx_conf.h复制到 Template\inc文件夹中. 7.将 STM32F429I- Discovery_FW_V1.0.1\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\ iar 下的 startup_stm32f429_439xx.s 复制到 Template\startup 文件夹中. 8.将 STM32F429I- Discovery_FW_V1.0.1\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates 下的 system_stm32f4xx.c 复制到 Template\user 文件中. 9.将 STM32F429I-Discovery_FW_V1.0.1\Projects\Demonstration\EWARM 下的 STM32F4XX_flash.icf 复制到 Template文件夹中. 10.在 user文件夹中新建一个 C文件,命令为 main.c . http://www.DevLabs.cn 这时候 Template文件夹的结构应该如下: \---Template | stm32f4xx_flash.icf | +---inc | core_cm4.h | core_cm4_simd.h | core_cmFunc.h | core_cmInstr.h | stm32f4xx.h | stm32f4xx_conf.h | system_stm32f4xx.h | +---startup | startup_stm32f429_439xx.s | \---user main.c system_stm32f4xx.c 一共三个文件夹, 11个文件. 二.工程的建立. 1.先将模板复制一份,重新命名.这里我要做的是点亮一个 LED,所以就将文件夹 命名为 LED. http://www.DevLabs.cn 2.打开 IAR, 选择 Project->Create New Projece.. ,弹出如下对话框, 点击确 定, 保存工程. 3.保存工程, 将工程名称依然取为 LED, 如图. 4.在工程名上右击, 选择 Add->Add Group...在弹出的对话框中填入 startup, http://www.DevLabs.cn 回车,建立 startup组. 5.继续上一步操作, 建立 inc和 user组. 6.在组名字上右击, 选择 Add->Add File...,将 inc文件夹中的所有头文件添加 到 inc组下. 7.按照上一步操作, 在 user和 startup组中添加相应文件夹中的文件.完成后工 程结构应该如图所示. 8.选择 File->Save Workspace, 保存工作空间, 取名也为 LED. 9.右击工程名, 选择 Option..., 在弹出的对话框中,选择 Device, 单击右边的 按钮,选择 MCU型号为 STM32F429ZI. http://www.DevLabs.cn 点击 c/c++ Compiler ,在右边选择 Preprocessor选项卡, 在下面添加如下内 容(如图): http://www.DevLabs.cn 点击 Linker, 选择 Override default, 选择文件为 STM32F4xx_flash.icf. 点击 Debugger, 选择 Driver为 ST-LINK: http://www.DevLabs.cn 选择 Download选项卡,选择 Use flash loader选项: 点击 ST-LINK, 选择 Interface为 SWD, 然后确定返回. http://www.DevLabs.cn 10.按 F7 Make工程,这时候应该会有一大堆错误弹出来, 提示找不到头文件. 因 为在 STM32F4XX_conf.h中默认添加了所有模块的头文件, 而我们没有将对应的头文 件复制进来, 以报错了. 打开 STM32F4XX_conf.h, 将包含头文件的那几行全部注释 掉,现在重新编译应该就不会有错误了. 三.点亮 LED. 终于到了这一步. 上一步的准备工作做完后就可以真刀实枪的干了,在点灯的过程中我们需要使用 到 STM32的两个模块:RCC和 GPIO. RCC是复位和时钟控制模块,在这里我们不深究,先点着灯要紧. 首先到\STM32F429I- Discovery_FW_V1.0.1\Libraries\STM32F4xx_StdPeriph_Driver\inc 复制 STM32F4xx_gpio.h和 STM32F4xx_rcc两个头文件到 \LED\inc 文件夹中, http://www.DevLabs.cn 到\STM32F429I- Discovery_FW_V1.0.1\Libraries\STM32F4xx_StdPeriph_Driver\src 文件夹中复制 STM32F4xx_gpio.c和 STM32F4xx_rcc.c两个文件到 user文件夹中, 然后分别添加到 相应的组中. 此时工程结构应该为这样: 打开 inc文件夹下的 STM32F4xx.h, 在第 76行将 #define STM32F429_439xx反 注释掉, 将第 110行的#define USE_STDPERIPH_DRIVER反注释掉. 打开 STM32F4xx_conf.h, 在包含头文件的地方将 #include stm32F4xx_gpio.h 和#include stm32frxx_rcc.h反注释掉. 打开 main.c, 添加如下代码: http://www.DevLabs.cn #include "STM32F4xx.h" #include "STM32F4xx_GPIO.h" #include "STM32F4xx_RCC.h" void LED_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOG, &GPIO_InitStructure); return; } int main(void) { LED_GPIO_Config(); GPIOG->BSRRL = GPIO_Pin_13; GPIOG->BSRRL = GPIO_Pin_14; while(1) http://www.DevLabs.cn { } } 然后按 F7编译, 完成后选择 Project->Download->Download active application, 等待下载完成后按一个复位按钮(黑色), 你就会发现 LED被点亮了. (全文完) http://www.DevLabs.cn STM32F429 Discovery IAR工程建立与LED点亮
本文档为【STM32F429 Discovery IAR工程建立与LED点亮】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_468286
暂无简介~
格式:pdf
大小:564KB
软件:PDF阅读器
页数:12
分类:互联网
上传时间:2013-12-08
浏览量:133