MM32:配置开发环境并点亮第一颗 LED
配置 MM32G0001 开发环境并点亮第一颗 LED
安装 KEIL PACK
https://www.mindmotion.com.cn/support/software/keil_pack/
下载 KEIL PACK 后找到 MindMotion.MM32G0001_DFP.1.0.1.pack
双击即可安装
获取官方库函数
https://www.mindmotion.com.cn/products/mm32mcu/value_line/mm32g_value/mm32g0001/
下载“MM32G0001 库函数与例程”,我们需要其中 Device
目录下的所有文件
然后随意进入一个例程,我们需要其中的 platform.c
和 platform.h
创建 KEIL 工程
此处使用的是 FTHR-G0001 开发板,所以创建 KEIL 工程时选择 MM32G0001A1TC
随后弹出的运行时管理界面直接选择 OK 即可
此时,创建了一个完全为空的项目
配置开发环境
首先,把刚刚从官方例程提取到的库丢到我们新建的目录下:
进入 Manage Project Items,我们将这些都添加到 KEIL 工程中
Target 1
├─ APP // 在项目根目录下
│ └─ platform.c
├─ HAL_LIB // 在 \Device\MM32G0001\HAL_Lib\src
│ ├─ hal_adc.c
│ ├─ hal_crc.c
│ ├─ hal_dbg.c
│ ├─ hal_exti.c
│ ├─ hal_flash.c
│ ├─ hal_gpio.c
│ ├─ hal_i2c.c
│ ├─ hal_iwdg.c
│ ├─ hal_misc.c
│ ├─ hal_pwr.c
│ ├─ hal_rcc.c
│ ├─ hal_spi.c
│ ├─ hal_syscfg.c
│ ├─ hal_tim.c
│ ├─ hal_uid.c
│ └─ hal_usart.c
└─ STARTUP
├─ system_mm32g0001.c // 在 \Device\MM32G0001\Source
└─ startup_mm32g0001_keil.s // 在 \Device\MM32G0001\Source\KEIL_StartAsm
再进入 Configure target options,进入 C/C++ 选项卡,修改下面两项:
①:填写 USE_STDPERIPH_DRIVER
①:选择下图中的这些目录
转到 Asm 选项卡,Assembler Option 务必选择 armasm (Arm Syntax)
,否则会出现报错
转到 Debug 选项卡,将 Use 修改为 CMSIS-DAP Debugger
,然后点击 Settings 按钮进入 Flash Download 选项卡勾选 Reset and Run
自此,开发环境配置完成,下面就可以点亮第一颗 LED 了!
点亮第一颗 LED
在 APP 下新建 led.c
、led.h
和 main.c
在 led.h
中 include 一些我们需要的库,以及编写函数原型:
#ifndef LED_H
#define LED_H
#include "hal_conf.h"
void LED_Init(void);
void LED_Toggle(unsigned int ms);
#endif // LED_H
在 led.c
中编写这些函数:
#include "platform.h"
#include "hal_gpio.h"
#include "hal_rcc.h"
#include "led.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);
GPIO_StructInit(&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_WriteBit(GPIOA, GPIO_Pin_11, Bit_SET);
}
void LED_Toggle(unsigned int ms)
{
while(1)
{
GPIO_SetBits(GPIOA, GPIO_Pin_11);
PLATFORM_DelayMS(ms);
GPIO_ResetBits(GPIOA, GPIO_Pin_11);
PLATFORM_DelayMS(ms);
}
}
在 main.c
中调用 led.c
中的函数:
#include "platform.h"
#include "led.h"
void SysTick_Handler(void)
{
if (0 != PLATFORM_DelayTick)
{
PLATFORM_DelayTick--;
}
}
int main(void)
{
PLATFORM_Init();
LED_Init();
while(1)
{
LED_Toggle(200); // 可修改亮灭频率
}
}
完成后点击 Rebuild 按钮编译,如果没有报错,恭喜你:你的环境配置无误!接下来就可以点击 Download 按钮下载程序了!
随后你将看到开发板 ATS 指示灯闪烁,当下载完成后 LED D2 开始按照你设定的延时闪烁!
工程下载
HelloMM32.zip
https://drive.miri.site/?/upload_api/upload_plugin/blog/HelloMM32.zip
- 分类:技术
暂无评论