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

作为学习单片机的经典,自然是通过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所有,任何人未经允许禁止转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值