Я новичок в этом.
У меня 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?).
Имена {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);
Следующая диаграмма показывает, как должен быть подключен ЖК-дисплей:
ЖК-подключение
На следующей диаграмме перечислены доступные контакты на вашей доске:
Распиновка платы
PIN_RD <-> Моси <-> PA_7
PIN_WR <-> мисо <-> PA_6
PIN_RS <-> ск <-> 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);
Надеюсь, что это работает для вас!
Других решений пока нет …