【MM32F5270开发板试用】移植tft液晶屏驱动到MM32
本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:家星
对MM32的初步感受:
第一次使用mm32,因为有mindsdk,配置完环境后,直接上手体验了几个demo,感觉mm32和stm32差别不大,上手体验很好,本次移植tft屏幕驱动,没费什么力气,一次成功。后续会在了解了解mm32替换stm32。
本次项目基础:
https://aijishu.com/a/1060000…
由于屏幕驱动中需要用到延时函数,而我没在MindSDK中找到systick相关的工程,正好看到有大佬移植完成了systick,所以直接用了。
有了延时函数后,离移植成功只需要两步了。
1.更改端口定义的GPIO高低电平的写入函数
2.更改gpio口初始化
//-----------------OLED端口定义---------------- #define OLED_SCLK_Clr() GPIO_WriteBit(GPIOA,GPIO_PIN_0,0u)#define OLED_SCLK_Set() GPIO_WriteBit(GPIOA,GPIO_PIN_0,1u)#define OLED_SDIN_Clr() GPIO_WriteBit(GPIOA,GPIO_PIN_1,0u)//DIN#define OLED_SDIN_Set() GPIO_WriteBit(GPIOA,GPIO_PIN_1,1u)#define OLED_RST_Clr() GPIO_WriteBit(GPIOA,GPIO_PIN_2,0u)//RES#define OLED_RST_Set() GPIO_WriteBit(GPIOA,GPIO_PIN_2,1u)#define OLED_DC_Clr() GPIO_WriteBit(GPIOA,GPIO_PIN_3,0u)//DC#define OLED_DC_Set() GPIO_WriteBit(GPIOA,GPIO_PIN_3,1u)#define OLED_CS_Clr() GPIO_WriteBit(GPIOA,GPIO_PIN_4,0u)//CS#define OLED_CS_Set() GPIO_WriteBit(GPIOA,GPIO_PIN_4,1u)#define OLED_BLK_Clr() GPIO_WriteBit(GPIOA,GPIO_PIN_5,0u)//BLK#define OLED_BLK_Set() GPIO_WriteBit(GPIOA,GPIO_PIN_5,1u)//GPIO初始化 GPIO_Init_Type GPIO_InitStructure; RCC_EnableAHB1Periphs(RCC_AHB1_PERIPH_GPIOA, true); GPIO_InitStructure.Pins = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5; GPIO_InitStructure.PinMode = GPIO_PinMode_Out_PushPull; GPIO_InitStructure.Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); // GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); GPIO_WriteBit(GPIOA,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5,1u);//主函数int main(void){ BOARD_Init(); printf("\r\n lcd example.\r\n"); LCD_ShowOneChinese(10,0,"极",RED); LCD_ShowOneChinese(42,0,"术",RED); LCD_ShowOneChinese(74,0,"社",RED); LCD_ShowOneChinese(106,0,"区",RED); LCD_ShowString(10,40,"MM32",RED); while (1) { ; }}
完成后用杜邦线屏幕和开发板,烧录程序。一次成功
本项目地址:
https://gitee.com/holly-knight/mm32_tft_lcd_demo
下个项目,准备体验了sd卡读取,最终打算做一个基于sd卡的iap升级操作