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

【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扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版