让Mbed Nucleo F401RE与LCD TFT HX8347配合使用

时间:2016-06-21 10:33:50

标签: c++ screen lcd mbed

我对此很陌生。

我有一个2.8“TFT LCD(HX8347)屏幕,目前正试图让它与我的Nucleo F401RE配合使用。

我导入了位于此处的库:https://developer.mbed.org/users/Suky/code/LCDTFT/

我删除了用于绘制图像的代码(不需要它并且它引发了错误)。

问题是看起来示例代码对引脚使用了一组不同的定义

#include "mbed.h"
#include "LCDTFT.h"

BusOut  MyBus(p13,p14,p15,p16,p17,p18,p19,p20,p30,p29,p28,p27,p26,p25,p24,p23);
LCDTFT  MyLCD(p5,p6,p7,p22,p21,&MyBus);

由于“p”值不存在,因此抛出错误。所以我认为它们是“D0”,“D1”,....但我完全不确定,甚至是什么样的映射,(它都是30?)。

1 个答案:

答案 0 :(得分:1)

一些研究

{p13,p14,p15 ...}名称来自PinNames.h文件。

作为参考,您可以看到它们如何为流行的LPC1768板定义:

// mbed DIP Pin Names
p5 = P0_9,
p6 = P0_8,
p7 = P0_7,
p8 = P0_6,

对于NUCLEO_F401RE {p1,p2,...}尚未定义,但{PA_0,PA_1,...}是。

PA_0  = 0x00,
PA_1  = 0x01,
PA_2  = 0x02,
PA_3  = 0x03,

解决方案

您需要自己说出正确的引脚名称。

库头文件中的LCDFT构造函数:

LCDTFT(PinName PIN_RD,PinName PIN_WR,PinName PIN_RS,PinName PIN_CS,PinName PIN_RESET, BusOut *BUSLCD);

下图显示了LCD显示屏应如何连接: LCD connectivity

下图列出了主板上可用的引脚: Board pinout

这是您应该使用的连接

PIN_RD< - > mosi< - > PA_7

PIN_WR< - >味噌< - > PA_6

PIN_RS< - > sck< - > PA_5

PIN_CS< - > PwmOut< - > PA_0

PIN_RESET< - > PwmOut< - > PA_1

BusOut:这可以是你已经获得的任何免费输出引脚,所以。

最后

#include "mbed.h"
#include "LCDTFT.h"

BusOut  MyBus(A2,A3,A4,A5,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D14,D15);
LCDTFT  MyLCD(PA_7,PA_6,PA_5,PA_0,PA_1,&MyBus);

希望这适合你!