你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32F072-Nucleo】基于mbed平台(IAR编译器)SPI驱动LCD5110显示屏

[复制链接]
晓枫VS枯叶 发布时间:2014-12-14 22:56
本帖最后由 晓枫VS枯叶 于 2014-12-14 22:59 编辑

     最近刚得到一块F072的NUCLEO板,闲来无事测试了F072的SPI,基于mbed平台的离线编程,C++编程相比C简单很多,和HAL库或者标准库相比,mbed操作相对简单,但是由于加入了C++,库读起来就没那么简单了!下面是具体操作过程:1.在github上下载mbed的库,直接百度搜索mbed github就能看到网址,mbed的工程师会不定期的在github上更新mbed库,下载速度有点慢(ps:由于国内网络原因,我把mbed上传到百度云,地址会在帖子末尾贴出来)。
2.mbed库下载完了之后可以浏览下库的结构如下图所示,大部分基本的库文件都在mbed\libraries\mbed目录下,完整的库还包含usb、以太网等等的库
3.jpg 4.jpg 5.jpg

由于我们只使用SPI所以不必管其他的库,先新建一个文件夹(LCD5110),将mbed\libraries\mbed这个文件夹全部拷贝到新建的文件夹(LCD5110)下。

3.由于我使用的是f072所以可以删除一些无关的文件,主要在mbed\libraries\mbed\targets\cmsis和mbed\libraries\mbed\targets\hal目录下,cmsis目录要删除的东西如下图所示:(删除选中的)
6.jpg 7.jpg 9.jpg
hal目录下删除的东西如下图所示:(删除选中的)
11.jpg 12.jpg
4.在第2步新建的目录(LCD5110)下再新建一个目录(user),放自己写的main函数文件及IAR工程,新建IAR工程目录(自定名字(我的为IAR,位于user目录下)),建好后大致目录与下图所示:
2.jpg
5.新建IAR工程,在IAR工程下新建几个group如下图所示,名字自定(我的和上面的目录名类似),建好后将对应的目录.cpp、.c、.h、.s文件加入到group中(注意那个startup_stm32f072xb.s位于mbed\targets\cmsis\TARGET_STM\TARGET_STM32F0\TARGET_NUCLEO_F072RB\TOOLCHAIN_IAR目录下),可以设置选择添加指定文件类型,设置如下图所示:
1.jpg 13.jpg
6.添加完成上述mbed库文件后,自己在user文件夹下新建一个xxx.cpp(我的为main.cpp),然后在里面写一段main函数代码(代码如下所示)并加入到IAR的user组中:
#include “mbed.h”
int main(void)
{
}
7.更改IAR的相关设置,具体设置如图所示:(网页排版原因图调到了最后面)
14.jpg 15.jpg 16.jpg
21.jpg 22.jpg 23.jpg
8.设置完成后就可以编译了,编译大概40s(根据每个人的电脑不同,时间可能不一样),编译过程中会出现很多警告,编译完成如下图所示出现了100多个警告,这些警告大多与编译器的识别文件有关,还有一些是强制转换出现的警告,不妨碍程序运行。
24.jpg
想要不显示这些警告可以设置过滤功能如下图所示:
25.jpg
再次编译会发现警告全无:
26.jpg
9.测试一下工程是否正确可以写一个简单的闪烁LED的程序
#include “mbed.h”
DigitalOut led(LED1);
uint32_t ti;
int main(void)
{
     while(1)
    {
    ti=HAL_RCC_GetSysClockFreq();
    led=!led;
    wait(1);
    }
}
编译一下进入调试,选择view菜单下的live watch,将ti加入live watch可以看到nucleo板的运行主频(我的加了HSE8 MHz,ti=48MHz,使用hsi的未测试)。另外板子上的led会闪烁,说明工程是完整的。
10.加入SPI的代码(由于时间原因,直接将源码贴出),SPI代码主要位于lcd.cpp和main.cpp,另外还有几个lcd5110的字库.h文件
mbed库的百度云地址:https://pan.baidu.com/s/1bn0EXqf
mbed库SPI操作lcd5110源码: LCD5110.zip (1.36 MB, 下载次数: 104)
17.jpg
18.jpg
19.jpg
20.jpg
收藏 2 评论5 发布时间:2014-12-14 22:56

举报

5个回答
沐紫 回答时间:2014-12-15 10:06:11
谢谢分享哦
霹雳之火 回答时间:2014-12-15 15:47:31
好贴必须顶起
黑溱郎 回答时间:2015-1-8 16:33:20
很详细啊,好贴必须顶起。
党国特派员 回答时间:2015-1-16 09:50:12
2.png
anywill 回答时间:2016-10-21 15:45:38
用mbed的还是太少,好贴,学习了

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版