1.jpg
      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
  • //              ----------------------------------------------------------------
  • 复制代码
         main函数:
    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();
  •         }
  • }
  • 复制代码
    GPIO初始化,跟STM32稍微有点定义不同,GPIO_InitStruct.
    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);
  •                
  •           
  •    
  • }
  • 复制代码