A0dy
灵动微电子 FTHR-G0001 “从 0到1 点灯教程”
评测品牌:灵动微电子
评测型号:FTHR-G0001
申请理由(产品应用):试试M0系列的芯片,学习学习!
发布时间:2024-10-30 10:35:39
前言
如何快速上手"灵动微电子 FTHR-G0001"开发板?以板载"按键"点亮"板载LED灯"!轻松入门!只要有手就会?
开源口碑分享内容

一、FTHR-G0001 开发板介绍

1、产品描述

使用高性能的 Arm® Cortex-M0 为内核的 32 位微控制器,最高工作频率可达 48MHz,内置高速存储器,丰富的增强型 I/O 端口和多种外设。
- 16KB Flash,2KB SRAM
- 1 个 12 位 ADC
- 1 个 16 位高级定时器、1 个 16 位通用定时器、1 个 16 位基本定时器
- 2 个 USART 接口、1 个 SPI 接口和 1 个 I2C 接口
- 工作电压为 2.0V - 5.5V
- 工作温度范围(环境温度)包括 -40℃ - 85℃ 工业级和 -40℃ - 105℃ 扩展工业级
- 提供 TSSOP20、QFN20 和 SOP8 封装

适合于多种应用场合:
- 节点控制
- 无线充电
- 电机控制
- 玩具
- 照明电路
- 应急消防设备
- 8/16 位 MCU 升级

2、基本介绍

其中关于QFN20 引脚分布 / TSSOP20 引脚分布如下:



二、相关工具、Pack包下载与安装(本工程以KEIL软件为例)

1、下载MM32芯片相关Pack支持包(点此下载)

2、下载 MM32G0001 库函数与例程(点此下载)

3、安装"Pack包"以及解压"库函数与例程"

1·Pack包安装(解压后,安装"MM32G00001"Pack包)


2·解压 MM32G0001库函数与例程压缩包(打开标准库中的"GPIO的LED例程,后续在此基础上编写相关功能代码")


三、相关工程代码编写(实现按键点亮LED灯)

1、主要源文件介绍

1·xx_it.c 为相关中断函数处理入口

2·xx_toggle.c 为LED实现例程

3·platform.c 提供相关功能函数(延时、串口1初始化、LED初始化等)

4·main.c 为主程序入口

5·STARTUP文件夹 为相关启动文件

5·HAL_Lib文件夹 为相关外设功能源文件

2、相关代码介绍

1·PLATFORM_Init();

实现了相关功能的初始化(延时函数、板载LED初始化、串口1初始化、上电默认相关信息打印等功能)

注:关于板载LED初始化 为"MiniBoard开发板"的板载4个LED灯初始化功能。(视频中有介绍)


2·GPIO_LED_Toggle_Sample();

实现了相关"板载LED灯"点亮功能

注:同上

3、相关代码编写(实现通过按键点亮/熄灭板载LED灯功能)


1·在gpio_led_toggle.c中编写相关代码

其中 void GPIO_LED_Toggle_Sample(void); 为实现"板载LED"点亮函数的例程,只需再此基础上稍作修改。

GPIO_Configure(); 为LED相关引脚的初始化,在此基础上,添加此目标板的"LED引脚"为PA11。(初始为高电平不会点亮)


其中修改的代码如下:

GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_15 | GPIO_Pin_10 | GPIO_Pin_6 | GPIO_Pin_5 | GPIO_Pin_11;

GPIO_WriteBit(GPIOA, GPIO_Pin_15 | GPIO_Pin_10 | GPIO_Pin_6 | GPIO_Pin_5 | GPIO_Pin_11, Bit_SET);


2·实现按键点亮/熄灭LED灯功能

其中PA2为"板载按键Key1",通过简单按键软件消抖实现LED电平的翻转,从而实现当按键按下,将LED引脚电平变为低电平,从而实现LED点亮。当再次按下时,LED引脚电平发生改变,从而熄灭。

(其中关于 GPIO_ReadInputDataBit(); GPIO_IO_Toggle(); PLATFORM_DelayMS()等函数,都在相关源文件中有定义)

3·添加按键函数到 void GPIO_LED_Toggle_Sample(void);中



四、程序代码烧录

1、烧录方式

由于该开发板板载仿真器,因此有多种烧录方式(详见基本介绍)。为了简易操作,因此直接用TypeC数据线连接开发板进行烧录。

2、相关配置


五、代码程序讲解以及效果演示