【无标题】安富莱V5程序移植到原子探索者F4控制板带TFT LCD显示屏
安富莱V5控制板用的控制器是STM32F407IGT,
原子探索者用的控制器是STM32F407ZGT6.
手里有原子探索者主控板+2.8寸TFT LCD屏,需要把安富莱程序用于原子探索者硬件来运行和显示,经过一番折腾,成功运行。
省了安富莱的硬件,可以在原子主板上学习安富莱的Modbus RTU通信。
废话不说,看结果
总结了下,移植其实也很简单,这2大神的程序总体还是很规整的,但各有各的风格,不能完全挪用,但稍作修改,还是可以互相借用的。
安富莱程序移植原子F407的LCD屏注意事项
先把原子lcd程序删除其他驱动,只留ILI9341驱动,简化后再移植就很好移植了。
移植过程主要如下
1 复制lcd.c,lcd.h到安富莱项目文件夹里,编译一下,查看报错情况。
2 lcd.h数据类型报错。包含数据类型定义即可。
处理:a 取消这行定义//#include “sys.h”
b 增加这行定义#include “stm32f4xx.h”//在555行有定义
3 #include "delay.h"报错,包含数据类型定义即可。
处理:增加这行定义#include “stm32f4xx.h”//在555行有定义
4 cd.h里B15定义报错。#define LCD_LED PBout(15) //LCD背光PB15
处理:在cd.h里增加如下定义即可。代码参见SYS.h里代码
5 修改对应定时器,包括delay_us(5);delay_ms(50)
把cd.c程序里定时器更换为安富莱对应的定时器。
或在bsp_timer.c里增加对应ms,us定时器也可以。
6 复制fsmc驱动到bsp_stm32f4xx里。包括stm32f4xx_fsmc.c,stm32f4xx_fsmc.h文件
7 在lcd.h包含定义,#include “bsp_timer.h”,
8 在bsp.h包含LCD定义, #include “lcd.h”
9 在bsp.c里初始化LCD,LCD_Init();//初始化LCD
至此,编译为0错0警,主函数开始使用LCD显示
大神力作,不敢独占,源程序也一并分享
原程序