不用GD32?我把STM32换成了国产MM32

要学嵌入式,关注@我要学嵌入式,嵌入式猛男的加油站。

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

01 


资源对比

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口。

260cbc2bc921e4a2c04b421dc9041bc6.png

02


拆换芯片

替换之前

7131f665ea23818db20491715956a454.png

STM32F103RCT6

替换之后

8b1f354de152c28f0c50fe8fab3d0d21.png
MM32F3277G7P

接下来就是新建工程了


03 


新建工程


3.1 安装 Keil pack包

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

423069953ea579da54790789ac63d794.png

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

ac8fa3742fe0d57a1408ed91f34b1377.png

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

87258e634280ed78af23b46648c77166.png

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


3.2 下载官网例程

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

77eb2cd84857aa644edef7d6c27a803d.png

www.min dmo tion.co m.cn

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

d8e2fb2e6d4da2b7bb42a6fa415ca4a9.png

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

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

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

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

176a8fcd12ab58d385a990bffc407f66.png

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

9541ee838cb90657e9bb3e581434af5b.png

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

fbe7c1d9b9d07443719f40a7d64d4258.png

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

-END-


往期推荐:点击图片即可跳转阅读

b6d7e1411de124fcec7be79b8279c338.png

居然还有大学在大一上C语言课?

629a60bf01dea43330731c7e2627f7fc.png

30岁了,还要去读研吗?

f8cb3ff4a406efa3df3ca3f2086073b2.png

到底要不要考研?读完研究生就能找到好工作了吗?

要学嵌入式,关注@我要学嵌入式,嵌入式猛男的加油站。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值