2.EmBitz新建第一个工程
来源:互联网 发布:数据库系统特点 编辑:程序博客网 时间:2024/06/03 02:27
EmBitz新建第一个工程的方法也是很简单,这里用市场上最火热的STM32F10x单片机做示范。
一、新建工程。
1、选择菜单“File”->“New”->“Project”。
2、选择单片机厂商,我这里用的STM,点击“Go”。
3、点击“Next”。
4、输入工程名和工程路径即可,软件会自动生成工程文件夹。
5、选择编译器和输出文件位置,默认即可。
6、选择单片机内核,我用的stm32f103vet6,属于Cortex_M3内核,其他单片机根据具体版本选择。
7、选择单片机型号,一般不用生成.hex文件也可以,.hex文件主要用于量产,取消这个选项可以加快编译速度,其他默认即可。
8、配置仿真器,我使用的是ST-Link,二线swd方式下载,选项的前四个全勾选,点击“OK”。
选择“Target setting”,勾选上“Run to main()”,调试的时候就直接运行到main函数了,不然会运行到启动文件,最后点击“OK”完成项目的创建。
9、项目结构解说。
EmBitz的工程文件夹结构:
EmBitz的项目管理是用文件类型分类的。
如果想要查看或者修改分类可以在工程名右键,选择“Project tree”->“Edit file type & categories…”就可以编辑各个分类文件夹包含的文件类型。当你添加一个文件的时候,EmBitz会根据文件类型自动归到相应的类型中,但是文件所在的绝对路径是不变的。
由于我这个是第一个工程,简单的LED灯闪烁,只用到GPIO和时钟,为了编译更快,可以把不用的库文件从工程中删除(并不是删除文件,而是移出项目,不参与编译)。选择不需要的库文件,右键“Remove files from project”。
需要同时删除.h文件和.c文件,最后库文件如下图:
同时也要把“stm32f10x_conf.h”文件里的包含注释掉,不然编译时会提示找不到对应文件。打开“main.c”文件,在“#include "stm32f10x_conf.h"”上右键,选择“Open #include file "stm32f10x_conf.h"”。
只留下用到的两个文件:
试着编译一下,点击菜单栏的编译按钮(快捷键F7),开始编译。
没有错误,完美,可以开始编写程序了。
但是也有可能产生如下警告,甚至错误,这是因为“assert_param”这个函数是在“stm32f10x_conf.h”里定义的,在“stm32f10x_rcc.c”和“stm32f10x_gpio.c”中都使用了这个函数,若“stm32f10x_rcc.c”和“stm32f10x_gpio.c”先编译就找不到这个函数而报错。
解决办法是在工程右键选择“Build options” 选择“#define”(编译宏定义)添加“USE_STDPERIPH_DRIVER”因为“stm32f10x_rcc.c”和“stm32f10x_gpio.c”都包含了“stm32f10x.h”而在“stm32f10x.h”中有语句:
#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif
会提前包含了有定义“assert_param”函数的“stm32f10x_conf.h”文件。
10、LED闪烁程序。在“main.c”文件输入以下代码并编译:
/***** Main.c**************************************************************************//* Last committed: $Revision: 00 $ Last changed by: $Author: $ Last changed date: $Date: $ ID: $Id: $**********************************************************************/#include "stm32f10x_conf.h"void delay(uint32_t t){ while (t--);}int main(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); /**< 打开 GPIO 时钟 */ GPIO_InitTypeDef GPIO_InitStruct; /**< GPIO 配置 */ GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOB, &GPIO_InitStruct); while(1) { GPIO_SetBits(GPIOB, GPIO_Pin_2); delay(5000); GPIO_ResetBits(GPIOB, GPIO_Pin_2); delay(5000); }}
编译成功后点击调试按钮(快捷键F8)把程序写到单片机(EmBitz没有烧写按钮)。
程序烧写好后自动进入Debug模式,并且运行指针指向main函数第一个语句,此时可进行全速运行,单步,复位,等操作。再按一次调试按钮(快捷键F8)退出调试模式,可以看到程序已经在开发板上跑起来了。
**完**
下章提示:EmBitz个性化设置。
- 2.EmBitz新建第一个工程
- keil新建第一个工程
- 【iOS开发之Objective-C】新建第一个工程-HelloWorld
- 2.新建第一个Django项目
- Springboot+Maven多模块开发 (一)初始化工程(新建第一个web工程)
- 新建第一个mvc程序
- 新建第一个Android程序
- 新建QT第一个项目
- 第一个xfire工程
- 第一个Android工程
- 第一个hibernate工程
- 第一个android工程
- EEPlat第一个工程
- 第一个jni工程
- jfinal第一个工程
- 第一个QT工程
- 第一个SpringBoot工程
- PlayFramework第一个工程
- flashvars介绍
- 常见HTTP错误代码大全
- C#人脸识别入门篇-STEP BY STEP人脸识别--入门篇
- 1002. 写出这个数 (20)
- (PAT乙)1004. 成绩排名
- 2.EmBitz新建第一个工程
- poi操作Word合并单元格
- SpringMvc与myBatis整合(8)
- 优秀程序员共有的7种优秀编程习惯
- PHP中如何设置error_reporting错误报告级别
- HDU 6097 Mindis(几何)
- 链接属性
- 插件化框架 RePlugin 应用之二:内置插件的升级、卸载
- java常用类——String、StringBuffer、StringBuilder类