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个性化设置。






原创粉丝点击