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

本文详细介绍了使用CoIDE进行STM32F407ZG芯片编程的过程,包括创建项目、配置GPIO及使用定时器实现LED闪烁的方法。作者还分享了在编程过程中遇到的问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1 如何新建工程?

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

② 弹出以下对话框:填入你希望的Project name(如LED),然后点击Next;


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


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


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


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

#include <stm32f4xx.h>
#include <stm32f4xx_rcc.h>
#include <stm32f4xx_gpio.h>


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),编译成功。



注意:

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

  选择Project ->Select Toolchain Path


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


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









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

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


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


②注意程序中的这一句:

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 <stm32f4xx_rcc.h>  .(因为这个头文件中有对这个函数进行声明)

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

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


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

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值