[MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境

2023-12-19

作为学习单片机的经典,自然是通过GPIO点亮LED,或者是响应按钮的外部中断例程。这我们看看SOP8封装的芯片MM32G0001A6T得引脚,


除了VDD和GND固定外,我们可以使用PA14、PA1、PA13、PA15、PA2、PA3这六个GPIO口。这次测试,我没有使用PCB转换焊盘,而是使用了转换座。


使用mate60pro的微距拍摄功能,在LED灯光下拍摄的,效果不是很好,但应该能看清型号了。
在学习开发之前,是需要先弄好开发环境得。开发工具吗,自然是Keil了,下载呢的,准备使用灵动微的DAP-LINK下载器。这个下载器,我没有单独购买,而是打算从灵动微单片机开发板迷你核心板FTHR-G0001实验板上搞下来。


顶视图


底视图
顶视图板子的右半部分就应该是下载器,左侧是以MM32G0001A1TC为控制核心的开发板。两个板子之间的连接部分,我觉得是可以被分开的。分开后,已久了已使用SIP7的连接线连起来,不影响后续对左侧开发板的开发、下载。
根据BOM资料,


两块板子连接部分可以使用P3,P4连接起来,原理图上


P3和P4是完全匹配的,证实了先前的猜测。实际用万用表也可以在没有断开之前测试连接情况。所以可以放心大胆地分开吧。在MM32G0001A6T提供的PA14、PA1、PA13、PA15、PA2、PA3这六个GPIO口是包含了下载用的PA14、PA13的。
说起来容易,要分开的时候,才发现,板子结合部并没有分割槽,想完成分开两个板子,还真需要花点功夫。算了,还是用手里的其它下载器试试吧。我先选择的是创新工坊的PowerLink2。按照功能定义,连接VDD,GND,SWDIO,SWCLK四个引脚,先忽略RXD和TXD两个引脚。
连接方式如下:
------------------------------------------
PowerLink2        MM32G0001A6T引脚
-------------------------------------------------
VDD                  4(VDD) GND(VSS)    2(VSS)
SWCLK             1 (SWCLK)
SWDIO             5 (SWDIO)
-------------------------------------------
然后打开GPIO_LED_Toggle示例工程,看看下在设置中是否能找到芯片信息(打开工程前,你需要安装MM32G0001A6T的Keil设备支持包)。


看起来运气不错,找到了。
修改程序,为了方便使用我做的测试工具连接芯片,需要修改PA3用于驱动LED。

复制
/***********************************************************************************************************************

    [url=home.php?mod=space&uid=288409]@file[/url]    gpio_led_toggle.c

    [url=home.php?mod=space&uid=187600]@author[/url]  FAE Team

    [url=home.php?mod=space&uid=212281]@date[/url]    18-Apr-2023

    [url=home.php?mod=space&uid=247401]@brief[/url]   THIS FILE PROVIDES ALL THE SYSTEM FUNCTIONS.

*********************************************************************************************************************/



/* Define to prevent recursive inclusion */

#define _GPIO_LED_TOGGLE_C_



/* Files include */

#include <stdio.h>

#include "platform.h"

#include "gpio_led_toggle.h"



void GPIO_Configure(void)  {

    GPIO_InitTypeDef GPIO_InitStruct;



    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);



    GPIO_StructInit(&GPIO_InitStruct);



    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_3;

    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;

    GPIO_Init(GPIOA, &GPIO_InitStruct);



    GPIO_WriteBit(GPIOA, GPIO_Pin_3, Bit_SET);

}



void GPIO_IO_Toggle(GPIO_TypeDef *GPIOn, uint16_t PINn) {

    if (Bit_RESET == GPIO_ReadOutputDataBit(GPIOn, PINn)) {

        GPIO_SetBits(GPIOn, PINn);

    } else {

        GPIO_ResetBits(GPIOn, PINn);

    }

}



void GPIO_LED_Toggle_Sample(void) {

    printf("\r\nTest %s", __FUNCTION__);



    GPIO_Configure();



    while (1)  {

        GPIO_IO_Toggle(GPIOA, GPIO_Pin_3);

        PLATFORM_DelayMS(500);

    }

}



主程序部分

复制
#define _MAIN_C_



/* Files include */

#include "platform.h"

#include "gpio_led_toggle.h"

#include "main.h"



int main(void) {

    PLATFORM_Init();



    GPIO_LED_Toggle_Sample();



    while (1)  {

    }

}


试着编译成并下载。然后,利用面包板之类的简易板子,只接以下三个引脚:VDD,VSS(GND), PA3。PA3通过限流电阻和一支LED发光管接到VDD上。上电,可以看到LED周期闪烁起来。结果不错!
---------------------
作者:suncat0504
链接:https://bbs.21ic.com/icview-3347038-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境 的相关文章

  • 基于SpringBoot的房屋租赁系统 附源码

    基于SpringBoot的房屋租赁系统 附源码 文章目录 基于SpringBoot的房屋租赁系统 附源码 一 引言 二 系统设计 三 技术架构 四 功能实现 五 界面展示 六 源码获取 一 引言 本文介绍了一个基于SpringBo

随机推荐

  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U
  • Qt Quick 工程创建

    一 简介 Qt Quick是Qt框架中的一个模块 用于创建现代 响应式的用户界面 它基于QML Qt Meta Object Language 语言和Qt Quick Controls库 提供了一种声明性的方式来构建用户界面 Qt Quic
  • [APM32F4]基于APM32F411控制的一个软开关电路设计分享

    1 前言 说明 本文介绍的软开关电路 并不是 开关电源 里面的软开关概念 而是系统供电的开关 结合MCU等控制芯片 控制系统供电的开启或关断 在某些电子产品的场合 我们经常会需要用到按键长按进行开机 然后按键长按进行关机 或者按键长按之后有
  • 图像配准 CVPRW21 - 深度特征匹配 DFM

    本文转自 图像配准 CVPRW21 深度特征匹配 DFM 深度学习图像配准 CSDN博客 github地址 https github com ufukefe DFM 相识 图像配准 Image Registration 是计算机视觉领域中的
  • 性能测试:如何使用window系统资源监控!

    系统资源监控通常分为两类系统 window和类unix unix linux aix window系统资源监控 window系统资源监控有两种方法 一是使用loadrunner工具进行监控 二是使用windows自带的性能工具perfmon
  • 用一个简单的例子教你如何 自定义ASP.NET Core 中间件(二)

    上一章已经说过了 中间件是一种装配到应用管道以处理请求和响应的软件 每个组件 选择是否将请求传递到管道中的下一个组件 可在管道中的下一个组件前后执行工作 请求委托用于生成请求管道 请求委托处理每个 HTTP 请求 一句话总结 中间件是比筛选
  • git断开原来远程仓库连接并连接新的远程仓库

    背景 先开发了基础框架 后续实际项目基于基础框架开发 需要拉去基础框架 如果直接开发还是在基础框架上进行的 这是不允许的 就需要修改远程地址连接 1 查看远程连接 会返回当前的远程连接地址 git remote v 2 断开与远程仓库的连接
  • SHT10温湿度传感器——STM32驱动

    实验效果 硬件外观 接线 3 3V供电 IIC通讯 代码获取 查看下方 END
  • Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单

    鸿鹄工程项目管理系统 Spring Cloud Spring Boot Mybatis Vue ElementUI 前后端分离构建工程项目管理系统 项目背景 随着公司的快速发展 企业人员和经营规模不断壮大 为了提高工程管理效率 减轻劳动强度
  • Python编程:从入门到实践(基础知识)

    第一章 起步 计算机执行源程序的两种方式 编译 一次性执行源代码 生成目标代码 解释 随时需要执行源代码 源代码 采用某种编程语言编写的计算机程序 目标代码 计算机可执行 101010 编程语言分为两类 静态语言 使用编译执行的编程语言 C
  • DEVOPS 持续部署的例子:IMVU

    持续部署的例子 IMVU IMVU是一家社交娱乐公司 它的产品允许用户以一种3D阿凡达式的体验互相连接起来 本节内容改编自一位IMVU工程师所写的博客 IMVU采用了持续集成 开发人员尽早提交并经常提交 每次提交都触发测试套件的执行 IMV
  • 面向对象编程---基于java控制台的高校教材管理系统课设

    功能要求 1 实现出版社 教材类型的管理 2 实现教材的订购管理 3 实现教材的入库管理 4 创建规则 实现教材的书号必须满足以ISBN开头 后跟10个数字 比如ISBN7302120363 5 创建触发器 实现教材入库和出库时自动修改库存
  • 为什么云监控、云产品流量监控中的流量数据和DDoS防护的流量监控数据有差异?

    一般情况下 DDoS防护的流量监控数据大于您在云监控或具体云产品数据页面看到的流量数据 示例 假设您的ECS实例遭受了DDoS攻击 触发流量清洗 您收到DDoS原生防护基础版的清洗通知 触发清洗时的流量为2 5 Gbps 但是 您在云监控中
  • 总结 BurpSuite 插件 HaE 与 Authz 用法!!!

    HaE与Authz均为BurpSuite插件生态的一员 两者搭配可以避免 越权 未授权 两类漏洞的重复测试行为 适用于业务繁杂 系统模块功能多的场景 两个插件都可以在store里安装 安装完后 点击Filter Settings勾选Show
  • 【工作流Activiti】了解工作流

    1 什么是工作流 工作流 Workflow 就是通过计算机对业务流程自动化执行管理 它主要解决的是 使在多个参与者之间按照某种预定义的规则自动进行传递文档 信息或任务的过程 从而实现某个预期的业务目标 或者促使此目标的实现 通俗来讲 就是业
  • 【工作流Activiti】Activiti的使用

    1 数据库支持 Activiti 运行必须要有数据库的支持 支持的数据库有 mysql oracle postgres mssql db2 h2 2 Activiti环境 我们直接在当前项目 guigu oa parent做Activiti
  • python 基础

    Python 基础 部分信息参考 菜鸟教程 文章目录 Python 基础 介绍背景 环境搭建 下载 win下 Linux下
  • 超星学习通《大学生创新基础》 答案

    1 1 1 多选题 具有高创造性个体的人格特征是 ACBD A 独立性 B 自信 C 对复杂问题感兴趣 D 冒险精神 2 多选题 创新型人才的特点是 ABD A 具有创新精神和创新能力 B 个性灵活 开放 C 力求稳妥 拒绝冒险 D 精力充
  • 绝对干货!自动化测试PO设计模式的进阶实现(附源码),适合想提升编码能力的测试同学

    本文阅读的前提 同学们知道如何进行Selenium自动化测试并了解什么是PO设计模式 对于代码基础较弱的测试同学希望多读几次文章并上手操作 这篇文章看懂后 大家的编码能力就会进步了 代码哪里不懂欢迎留言 PO模式的设计问题 在前面的文章 无
  • [MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境

    作为学习单片机的经典 自然是通过GPIO点亮LED 或者是响应按钮的外部中断例程 这我们看看SOP8封装的芯片MM32G0001A6T得引脚 除了VDD和GND固定外 我们可以使用PA14 PA1 PA13 PA15 PA2 PA3这六个G