微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32:CooCox IDE环境搭建 点亮LED

STM32:CooCox IDE环境搭建 点亮LED

时间:10-02 整理:3721RD 点击:

  做stm32开发时,多数人可能会选择Mdk作为开发环境,不过这东西到底是收费的产品。CooCox IDE是一个免费的,不过貌似在国内知名度不是很高,它是基于Eclipse的一个arm开发环境,其实当初是因为不想用Mdk之后,搭建eclipse的环境时,无意中发现这个玩意的。正好重装系统了,把CooCox的环境搭建,记录下来。

  首先当然是下载了,官网上下载最新的 CooCox,然后还有Gcc,这个下载地址倒是找了我半天,https://launchpad.net/gcc-arm-embedded/+download 到这里下载

gcc-arm-none-eabi-4_8-2014q2-20140609-win32.zip (md5)。一个是开发环境,一个是tool chain,Mdk目测是用的自己的编译器。哦,对了,首先你得至少有以下产品:

  •   STM32开发板
  •   Led若干只
  •   ST-Link调试器
  •   电阻若干只
  •       杜邦线
  •   电脑一台(废话)

  使用ST-Link连接到开发板,我用的是STM32F103ZET6的核心板,某宝上50多一个,我一个朋友看后吐槽到,“这破玩意儿我分分钟给你焊一个”...然后通过USB连接到电脑。win8下到官网下载的正版ST-Link的驱动,完美支持盗版的...然后设计一个简单的电路吧,用一只小的LED,最好能串一个电阻,阻值100-4.7K都差不多,不过是越小越亮了,主要起到限流的作用。电路图如下:

  

  GND一端连接STM开发板的GND端口,PC13是一个GPIO口,ABCDEF等等的,随便选一个就行了。连接完成之后,下面开始编程了,打开CoIDE,新建一个工程,在第三步的时候,勾选RCC和GPIO驱动,然后,修改main.c,:

  1. #include "stm32f10x.h"
  2. #include "stm32f10x_gpio.h"
  3. #include "stm32f10x_rcc.h"
  4. #include "util.h"

  5. void ledConfig();
  6. int main(void)
  7. {

  8.     SystemInit();
  9.     SysTick_Config(SystemCoreClock / 1000);
  10.     ledConfig();
  11.     while(1)
  12.     {
  13.         GPIO_SetBits(GPIOC, GPIO_Pin_13);
  14.         delay_ms(200);
  15.         GPIO_ResetBits(GPIOC, GPIO_Pin_13);
  16.         delay_ms(200);
  17.     }
  18. }
  19. void ledConfig()
  20. {
  21.     GPIO_InitTypeDef gpioType;

  22.     RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC , ENABLE);
  23.     //LED -> PC13
  24.     gpioType.GPIO_Pin = GPIO_Pin_13;
  25.     gpioType.GPIO_Speed = GPIO_Speed_50MHz;
  26.     gpioType.GPIO_Mode = GPIO_Mode_Out_PP;
  27.     GPIO_Init(GPIOC, &gpioType);
  28. }

复制代码


这里用到了一个定时器的函数,定义如下:

  1. #ifndef _SOLEE_UTIL_H_
  2. #define _SOLEE_UTIL_H_

  3. #include "cmsis_boot/stm32f10x.h"

  4. void delay_ms(u16 ms);

  5. #endif

复制代码

 实现如下:

  1. #include "util.h"

  2. volatile u16 _timerDelay;
  3. void delay_ms(u16 ms)
  4. {
  5.     _timerDelay = ms;

  6.     while(_timerDelay);
  7. }

  8. void SysTick_Handler(void)
  9. {
  10.     if(_timerDelay)
  11.         _timerDelay --;
  12. }

复制代码

好了,简单的工程就这样结束了。编译工程,下载,运行,应该就Ok了~ 附一张工作图:

  



记得以前用colinkex调试器的时候,去找那个win7 64驱动结果发现了一大堆的CooCox软件

不错,又多了一个IDE可用了。

我试试这IDE去。

上一篇:自制红外遥控器
下一篇:OneNET物联网

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top