MM32F3277替换STM32

Posted 果果小师弟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MM32F3277替换STM32相关的知识,希望对你有一定的参考价值。

摘要:原本项目上使用了STM32F103RCT6这一款单片机,奈何ST的芯片疯涨所以换了国产灵动微电子的MM32F3277G7P,随笔分享一下使用该芯片的一些注意事项。

一、资源对比

STM32F103RCT6 拥有的资源包括:48KB SRAM、256KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、2个 DMA 控制器(共 12 个通道)、3 个 SPI、2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个 12位 ADC、1 个 12 位 DAC、1 个 SDIO 接口及 51 个通用 IO 口。

MM32F3277G7P属于灵动微电子全新主流型 MM32F3270 系列,这款芯片是去年12月份才开始供货,该系列 MCU 搭载了 Arm® Cortex®-M3 内核,最高主频 120MHz。

MM32F3277G7P包括: 512KB Flash,128KB RAM、3 个 12 位的 ADC、2 个 12 位的DAC、2 个比较器、2 个 16 位通用定时器、2 个 32 位通用定时器、2 个 16 位基本定时器和 2 个 16 位高级定时器、2 个 I2C口、3 个 SPI、3 个 I2S 和 8 个 UART 、1 个 USB OTG、1 个 CAN 、1 个 SDIO接口及45个通用 IO 口。

二、拆换芯片

替换之前
替换之后

接下来就是新建工程了

三、新建工程

1、安装 Keil pack 包

如果正在使用STM32或者GD32,然后想使用MM32芯片,第一步就是下载并安装MM32 Series Keil pack,安装完成后你才可以选择该系列的芯片。
通过Keil 网站下载pack 包安装,通过 https://www.keil.com//pack/ 或 https://www.keil.com/dd2/pack/ 链接,浏览并找到 MindMotion 系列的相关 pack。

点击Download下载,下载后点击安装包手动安装。


之后在的MDK中就会出现对应的PACK包了。

2、下载官网例程

目前关于这一款芯片的资料还是比较少,毕竟才量产了两三个月,网上关于MM32芯片的资料都是关于做智能车的视频资料,可以上B站看看。

在产品那一栏找到主流型MM32F的工具和软件,就可以下载例程了。

下载完成后解压就可以看到下面这三个文件夹。

  • Demo_app:这里面放了两个官方的模板例程,分别是以太网和音视频播放的例程,有需要的可以参考。

  • Device:这里面放了的是库文件。

  • MM32F327x_Samples:这里面放的是MM32各个外设的例程,不是很多,但是基本够使用。

    之后随便打开一个工程,是不是感觉工程文件夹看着眼熟,跟正点原子例程的工程文件夹很像。
    所以说你只要会STM32的标准库,使用MM32芯片就跟STM32一模一样。再看一下例程中的按键扫描函数,跟正点的不能说一模一样吧!


完全的标准库写法,所以如果觉得STM32有点贵,可以考虑使用MM32来做替换。

void LED_Init(void)

    GPIO_InitTypeDef  GPIO_InitStruct;
    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);
    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOB, ENABLE);
    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource15, GPIO_AF_15);                      //Disable JTDI   AF to  AF15
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, GPIO_AF_15);                       //Disable JTDO/TRACESWO   AF to  AF15
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource4, GPIO_AF_15);                       //Disable NJRST   AF to  AF15
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_15);                       //Disable AF Funtion   AF to  AF15
    GPIO_InitStruct.GPIO_Pin  =  GPIO_Pin_15;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOB, &GPIO_InitStruct);

前几天看到也有网友说GD32也开始有假货了,目前GD32F103C8T6常态下是5元左右,市场报价为35元(国产GD)。这款MM32官方价格还是16元/片,价格不算高。目前这款芯片小编还处于各个外设测试使用阶段,后期会不断更新芯片的使用体验,来先替各位踩个坑!

以上是关于MM32F3277替换STM32的主要内容,如果未能解决你的问题,请参考以下文章

制作灵动单片机MM32F3277 测试版

设计带有SD卡的 MM32F3277 MicroPython 实验板

MM32F3277 MicroPython 实验板设计和软件测试

测试MM32F3277基本模块功能

MM32F3277 MicroPython移植过程中对应的接口文件

灵动微M3内核32位单片机LQFP100封装MM32F3277G8P