摘要:原本項目上使用了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:這裡面放了的是庫檔案。
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);
}