原本项目上使用了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口。
02拆换芯片
替换之前
STM32F103RCT6
替换之后
MM32F3277G7P
接下来就是新建工程了
03 新建工程
3.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包了。
3.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元/片,价格不算高。目前这款芯片小编还处于各个外设测试使用阶段,后期会不断更新芯片的使用体验,来先替各位踩个坑!
|