CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)

  正式开始学习利用CoIDE进行编程,以下是今天的学习心得。IDE的安装此处不再赘述啦。

1 如何新建工程?

① 打开IDE,选择project ->new project ;

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第1张图片② 弹出以下对话框:填入你希望的Project name(如LED),然后点击Next;

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第2张图片

③弹出以下对话框:此处选择Chip,然后点击Next;

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第3张图片

④弹出以下对话框,选择ST->STM32F4x->STM32F407ZG,最后点击Finish (可根据需要选择你需要的芯片型号)

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第4张图片

⑤完成以上步骤后,自动弹出Repository界面(如下图)。由于是利用GPIO来点亮LED,故勾选如下选项:

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第5张图片

⑥ 双击左下角的main.c,置入以下代码:

#include
#include
#include


GPIO_InitTypeDef GPIO_InitStructure;

void RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);


int main(void)

{
        uint32_t times;
  /* GPIOC Periph clock enable */
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);


  /* Configure PC8 and PC9 in output pushpull mode */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOC, &GPIO_InitStructure);


  while (1)
  {
    /* Set PC8 and PC9 */
    GPIO_SetBits(GPIOC, GPIO_Pin_8);
        /* Delay some time */
        for(times = 0; times < 500000; times++);
    GPIO_SetBits(GPIOC, GPIO_Pin_9);
        for(times = 0; times < 500000; times++);


        GPIO_ResetBits(GPIOC, GPIO_Pin_8);
        for(times = 0; times < 500000; times++);
        GPIO_ResetBits(GPIOC, GPIO_Pin_9);
        for(times = 0; times < 500000; times++);
  }
}

⑦  点击左上角的Build(或直接按F7),编译成功。

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第6张图片


注意:

1、编译之前,需要选择编译工具。具体方法如下:

  选择Project ->Select Toolchain Path

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第7张图片

②填入arm-none-eabi-gcc.exe 所在的bin路径就行了。

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第8张图片

2 还需对Configuration界面 进行正确设置,如下图是我的配置:

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第9张图片

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第10张图片

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第11张图片

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第12张图片

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第13张图片

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第14张图片



3 由于对STM32F4X还不熟悉,之前一直都编译不通过。出现过以下问题:

①好几个变量没有定义(如下图)。

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第15张图片

究其原因,就是因为这一步选择的库不够,所以大家一定要注意(网上有很多朋友的教程都只讲勾选下图中的这几个,,其实对俺们这种初学者很容易造成误解。不够也极有可能是因为俺自身的理解能力太有限造成滴啊。。。)

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第16张图片

②注意程序中的这一句:

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);   // 正确;

而不是RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);//写成这样,会提醒这个函数没有声明的哦。

③ 之前还有提醒这个错误:

[cc] collect2.exe: error: ld returned 1 exit status


原因可能是:

A  这个函数没有声明RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE).

只需要在main函数前面加上:#include   .(因为这个头文件中有对这个函数进行声明)

B  仔细看Console页面的错误提醒会发现:cannot find -larm_cortexm4b_math.lib.

开始我觉得很奇怪,因为我弄了两个一模一样的工程,但是一个编译成功,另一个就提醒这个错误。原来是我在这里画蛇添足了。Remove这个文件后再编译即可成功。

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第17张图片

所以:大家的Configuration界面要注意配置正确

④ 若点击Build后出现如下提示,那么选择Rebuild(就在Build按键旁边)就好。

CoIDE编程心得一:如何新建工程?(基于STM32F4X 20180328)_第18张图片

以上就是第一天的学习心得。相信后面还会遇到很多问题,我要打怪升级~~~~

你可能感兴趣的:(CoIDE)