首先,根据Cubemx 移植正点原子LCD显示例程操作Cubemx并生成MDK文件,也可以继续看下面,我会从头到尾操作一遍!!!
1.Cubemx文件配置(Cubemx界面中以下图片若没有特殊强调直接照抄即可)
System Core(RCC,SYS)配置
SYS中debug选项根据没人的下载器自行选择
Connectivity(FSMC,USART1)配置
此处各项根据板子原理图选择
Chip Select对应原理图CS
LCD Register Select对应原理图 RS
(正点原子精英版V2 芯片:STM32F103ZET6)
此处根据原子提供的LCD例程中的数据进行填写,或者根据图片(来源:Cubemx 移植正点原子LCD显示例程)填写,更推荐前者
时钟树配置
根据自己的芯片选择(这里我用的芯片是:STM32F103ZET6)
至此,cubemx工程配置完成
移植正点原子(System和LCD)代码
这里我将原子的System和led,key的.c代码集合在一个src文件,将.h集合在inc文件,将它们集合在ATK文件中,并将其放入MDK文件夹的根目录中.
然后将下面这个截图中的文件(来源:正点原子MCU屏例程)分别添加到Cubemx生成的Core中的Inc和src文件夹中
添加文件和包含目录到keil中
具体操作可去百度搜索,此处只做必要解释功能
记住一定要做的操作,keil界面中的Core文件夹不要包含fsmc.c和lcd_ex.c文件,但是源文件夹中还需要有这两个文件
最后一步:修改错误
编译之后,根据错误类型删除代码.
大致问题分为:
1.比如正点原子的.c文件中包含头文件格式为"./BSP/LCD/lcd.h"此时需要改成"lcd.h",其他头文件包含错误修改方法依旧,如有其他问题或者补充可以在评论区留言!!!
2.删除Cumebx中生成的usart.c和.h文件,生成它的目的只是为了给正点原子的usart文件添加启动文件.
3.删除部分初始化代码,比如cubemx生成的usart初始化函数(假如想使用可以不删除,但是文件也需要保留),其他报错函数同样做法.
4.如果出现 Error: L6200E: 的情况,看看是不是keil中没有删除fsmc.c和lcd_ex.c文件即可