良许Linux教程网 干货合集 如何把STM32换成了国产MM32?

如何把STM32换成了国产MM32?

image-20230906202623319

摘要:原本项目上采用了STM32F103RCT6单片机,但由于ST芯片价格的激增,决定更换为国产灵动微电子的MM32F3277G7P。接下来将分享一些使用该芯片时需要注意的事项。

一、资源对比如下:

对比STM32F103RCT6,MM32F3277G7P拥有以下资源:

  • 内存:512KB Flash,128KB RAM
  • 定时器:2个16位通用定时器,2个32位通用定时器,2个16位基本定时器,2个16位高级定时器
  • 通信接口:2个I2C口,3个SPI,3个I2S,8个UART,1个USB OTG,1个CAN,1个SDIO接口
  • ADC和DAC:3个12位ADC,2个12位DAC
  • 其他:2个比较器,45个通用IO口

与之相比,STM32F103RCT6的资源包括:

  • 内存:48KB SRAM,256KB FLASH
  • 定时器:2个基本定时器,4个通用定时器,2个高级定时器
  • 通信接口:3个SPI,2个IIC,5个串口,1个USB,1个CAN
  • ADC和DAC:3个12位ADC,1个12位DAC
  • 其他:1个SDIO接口,51个通用IO口
image-20230906202642294
image-20230906202642294

二、拆换芯片

替换之前

image-20230906202710567
image-20230906202710567

STM32F103RCT6

替换之后

image-20230906202721128
image-20230906202721128

MM32F3277G7P

接下来就是新建工程了

三、新建工程

1、安装 Keil pack包

如果正在使用STM32或者GD32,然后想使用MM32芯片,第一步就是下载并安装MM32 Series Keil pack,安装完成后你才可以选择该系列的芯片。

image-20230906202725496
image-20230906202725496

通过Keil 网站下载pack 包安装,通过 https://www.keil.com//pack/ 或 https://www.keil.com/dd2/pack/ 链接,浏览并找到 MindMotion 系列的相关 pack。

image-20230906202729654
image-20230906202729654

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

image-20230906202733167
image-20230906202733167

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

2、下载官网例程

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

image-20230906202736977www.mindmotion.com.cn

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

image-20230906202740672
image-20230906202740672

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

image-20230906202744181
image-20230906202744181
  • Demo_app:这里面放了两个官方的模板例程,分别是以太网和音视频播放的例程,有需要的可以参考。
  • Device:这里面放了的是库文件。
  • MM32F327x_Samples:这里面放的是MM32各个外设的例程,不是很多,但是基本够使用。
image-20230906202747785
image-20230906202747785

之后随便打开一个工程,是不是感觉工程文件夹看着眼熟,跟正点原子例程的工程文件夹很像。

image-20230906202755828
image-20230906202755828

所以说你只要会STM32的标准库,使用MM32芯片就跟STM32一模一样。再看一下例程中的按键扫描函数,跟正点的不能说一模一样吧!

image-20230906202759432
image-20230906202759432

完全的标准库写法,所以如果觉得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元/片,价格不算高。目前这款芯片小编还处于各个外设测试使用阶段,后期会不断更新芯片的使用体验,来先替各位踩个坑!

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部