MM32F3270是灵动微电子推出全新主流型基于M3内核32位MCU,运行频率高达120MHz,MM32F3270适用于要求高集成度的高性能控制领域,如:工业控制、消防监控、家电、电源管理、打印机和扫描仪、通信转换模块等应用领域范围。MM32F3270系列支持工业级(-40℃至85℃)和扩展工业级(-40℃~105℃)工作温度。内置多种省电工作模式保证低功耗应用的要求。2.0–5.5V宽压设计,适用于各种电源供电场合,直接取代51单片机5V电压应用。
本次测评驱动中景园的3.5寸RBG显示屏,通过普通口模拟SPI。 在MM32F3270高主频下,毫无顿挫感。画面显示流畅。刷屏速度明显快于STM32F1。移植程序基本兼容。爱了爱了。效果看视频链接!
普通口模拟SPI定义如下:
// GND 电源地// VCC 3.3v电源 // SCL Pb1(SCLK) // SDA Pb2(MOSI) // RES PA1 // DC PA2 // BLK PA3 // MISO PA4 // CS1 PA5 // CS2 PA6 // ----------------------------------------------------------------
复制代码 while(1) { LCD_ShowChinese(0,0,"灵动微电子厉害了",RED,WHITE,32,0); LCD_ShowString(0,40,"LCD_W:",RED,WHITE,16,0); LCD_ShowIntNum(48,40,LCD_W,3,RED,WHITE,16); LCD_ShowString(80,40,"LCD_H:",RED,WHITE,16,0); LCD_ShowIntNum(128,40,LCD_H,3,RED,WHITE,16); LCD_ShowString(80,40,"LCD_H:",RED,WHITE,16,0); LCD_ShowString(0,70,"Increaseing Nun:",RED,WHITE,16,0); LCD_ShowFloatNum1(128,70,t,4,RED,WHITE,16); t+=0.11; for(j=0;j<8;j++) { for(i=0;i<8;i++) { LCD_ShowPicture(40*i,140+j*40,40,40,gImage_1); } } DELAY_Ms(1000); LCD_Fill(0,0,LCD_W,LCD_H,WHITE); LED2_TOGGLE(); LED3_TOGGLE(); LED4_TOGGLE(); } }
复制代码void GPIO_StructInit(GPIO_InitTypeDef* init_struct){ // Reset GPIO init structure parameters values init_struct->GPIO_Pin = GPIO_Pin_All; init_struct->GPIO_Speed = GPIO_Speed_2MHz; init_struct->GPIO_Mode = GPIO_Mode_FLOATING; }
复制代码void LCD_GPIO_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_1 | GPIO_Pin_2 | GPIO_Pin_3|GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_SetBits(GPIOA,GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3|GPIO_Pin_4 | GPIO_Pin_6); GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;//上拉输入 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz GPIO_Init(GPIOA, &GPIO_InitStruct); //初始化GPIOA GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 ; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB, &GPIO_InitStruct); GPIO_SetBits(GPIOB,GPIO_Pin_1|GPIO_Pin_2); 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); }
复制代码