Лабораторный БП PSL-3604
https://www.radiokot.ru/forum/viewtopic.php?p=2533716 библиотека tftbmp.ino
- Реклама
Запустил сенсорную панель, сделал таблицу возможных подключений сенсорной панели. Начал перебирать и заработало на этом варианте
Код: Выделить всё
//*** SCREEN PORTS ********
#if TS_INVERTED == NO
//****** Y -
#define TS_ADC_YM_CHANEL ADC_Channel_14
#define TS_YM_PORT GPIOC
#define TS_YM_PIN 4
//***** Y +
#define TS_ADC_YP_PORT GPIOB
#define TS_ADC_YP_PIN 7
//***** X -
#define TS_ADC_XM_CHANEL ADC_Channel_15
#define TS_ADC_XM_PORT GPIOC
#define TS_ADC_XM_PIN 5
//***** X +
#define TS_XP_PORT GPIOB
#define TS_XP_PIN 6Немного дополню информации, попалась статья "работа с touchscreen" где в описании интересные строки
Всё работает, думаю на большинстве дисплеев тач расположен зеркально, отсюда и была проблема. Ещё надо организовать автоопределение драйвера дисплея, прописывать каждый раз вручную как то неправильно.
Поменял местами в функции uint16_t ts_Y_get_physic(void)Если на выводы пластины, к которой подаётся напряжение, вместо LOW подать HIGH, а вместо HIGH подать LOW (поменять местами уровни выводов), то считанное значение будет не обратно, а прямо пропорционально координате касания.
Код: Выделить всё
YP_OUT; YP_0; //YP_1
YM_OUT; YM_1; //YM_0- Сообщения: 11
- Зарегистрирован: Пн ноя 04, 2019 15:35:48
Собрал переднюю панель блока, прошил контроллер. При подаче 5в на XP4 не загораются индикаторы. На нажатие кнопок панель реагирует характерным писком. Куда копать?
Подскажите по блоку? Для заливки прошивки достаточно подключить ЛБП к компу ? Если на ЛБП стоит чистый микроконтролер и чистая флешка.
- Реклама
[uquote="ecat",url="/forum/viewtopic.php?p=4264683#p4264683"]Куда копать?[/uquote]Думаю перво-наперво проверить питание 3.3 и 5 V на МК и 74HCT595, смотреть непропаи и сопли. Какие индикаторы стоят с общим анодом или катодом? Может индикаторы вверх ногами вставлены.
Подайте не 5В, а 4,5в. У меня при 5в регистры затыкались, при 4,7в работали стабильно, может такая же ситуация. В итоге вместо 5в выставил на стабе 4,7в так и оставил.
А впаяна STM32F100С8T6 или 103
Есть такие решения, после принятия которых, тараканы в голове аплодируют стоя.
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
.......Отругал своих тараканов, рассадил в голове по полочкам, запретил меняться местами.....
Притихли, не беспокоят, шёпотом обсуждают какой я плохой......
[uquote="bpf1",url="/forum/viewtopic.php?p=4264916#p4264916"]Для заливки прошивки достаточно подключить ЛБП к компу ?[/uquote]А что ещё можно придумать?
Или в чём вопрос?Для обновления прошивки необходимо подключение источника питания к
компьютеру через интерфейс USB. Обновление производится с помощью программы Flash
Loader Demonstrator от фирмы STM. Для того чтобы программа могла связаться с
микроконтроллером, нужно запустить встроенный загрузчик. Делается это
кратковременным нажатием кнопки BOOT на процессорной плате источника. После этого
нужно запустить Flash Loader Demonstrator и, следуя инструкциям, загрузить в
микроконтроллер источника обновленный файл прошивки psl-3604.hex. Затем следует
сбросить микроконтроллер, что можно сделать нажатием кнопки RESET на процессорной
плате или кратковременным выключением питания источника. После этого запустится
обновленная прошивка.
[quote="amv2000"][/quote]Или в чём вопрос?
Так там написано в инструкции для смены версии прошивки. А не для прошивки.
Спасибо за ответ с микроконт не дружу по этому и спрашиваю
Так там написано в инструкции для смены версии прошивки. А не для прошивки.
Спасибо за ответ с микроконт не дружу по этому и спрашиваю
[uquote="amv2000",url="/forum/viewtopic.php?p=4231705#p4231705"]Запустил сенсорную панель, сделал таблицу возможных подключений сенсорной панели. Начал перебирать и заработало на этом варианте[/uquote]
Подскажите как вывести hex? у меня именно в этом проекте почему-то не выводится
Подскажите как вывести hex? у меня именно в этом проекте почему-то не выводится
[uquote="imon220",url="/forum/viewtopic.php?p=4269995#p4269995"]как вывести hex?[/uquote] https://www.keil.com/support/man/docs/u ... exfile.htm если кратко
в опциях проекта (Options for Target) на вкладке "Output" Установить галочку напротив строчки "Create HEX File"
Наконец-то разобрался как вывести hex. Он ещё не хотел из-за того что не указал библиотеки и не активировал.
Экран запустил на чьей-то прошивки с названием ili9341 (у меня экран 9340)
Но проблема ч том что энкодер работает только в одну сторону.
Установил последнюю прошивку от автора, раскоментировав свой экран. Но там вообще не работает энкодер и кнопки и тач не завёлся https://ibb.co/F82Rh7y
Экран запустил на чьей-то прошивки с названием ili9341 (у меня экран 9340)
Но проблема ч том что энкодер работает только в одну сторону.
Установил последнюю прошивку от автора, раскоментировав свой экран. Но там вообще не работает энкодер и кнопки и тач не завёлся https://ibb.co/F82Rh7y
[uquote="imon220",url="/forum/viewtopic.php?p=4270780#p4270780"]энкодер работает только в одну сторону[/uquote]Пока не установишь в настройках максимальное напряжение и ток, энкодер не корректно работает. И там же в настройках включается сенсорная панель. У себя вообще в обработке энкодера убрал эти строки И добавил реверс.
[uquote="imon220",url="/forum/viewtopic.php?p=4270780#p4270780"]Экран запустил на чьей-то прошивки с названием ili9341 (у меня экран 9340)[/uquote]А что, если выбрать #define SUPPORT_9340 в файле LCD_DRIVER.h, то дисплей не работает?
Код: Выделить всё
//****** NO SPEED FAST PROCESSING *********************************
static uint8_t stateEnc;
uint8_t tmp;
uint8_t currentState = 0;
if ( GPIO_CHECK(ENCODER_A_PORT, ENCODER_A_PIN) != 0 ) { SetBit(currentState,0); }
if ( GPIO_CHECK(ENCODER_B_PORT, ENCODER_B_PIN) != 0 ) { SetBit(currentState,1); }
tmp = stateEnc;
if ( currentState == (tmp & 3)) { encoder_BUFFER = ENC_NOP; return ENC_NOP; }
tmp = (tmp<<2)|currentState;
stateEnc = tmp;
if (tmp == 225) { encoder_BUFFER = ENC_STEP; }
if (tmp == 210) { encoder_BUFFER = - ENC_STEP; }[uquote="imon220",url="/forum/viewtopic.php?p=4270780#p4270780"]Экран запустил на чьей-то прошивки с названием ili9341 (у меня экран 9340)[/uquote]А что, если выбрать #define SUPPORT_9340 в файле LCD_DRIVER.h, то дисплей не работает?
Код: Выделить всё
#if defined( SUPPORT_9340 ) || defined(SUPPORT_9341)
#if defined(SUPPORT_9340)
_lcd_ID = 0x9340;
_lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | READ_24BITS | REV_SCREEN;
#elif defined(SUPPORT_9341)
_lcd_ID = 0x9341;
#endif
_lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | READ_24BITS;
static const uint8_t ILI9341_regValues_2_4[] = { // BOE 2.4"
0xF6, 3, 0x01, 0x01, 0x00, //Interface Control needs EXTC=1 MV_EOR=0, TM=0, RIM=0
0xCF, 3, 0x00, 0x81, 0x30, //Power Control B [00 81 30]
0xED, 4, 0x64, 0x03, 0x12, 0x81, //Power On Seq [55 01 23 01]
0xE8, 3, 0x85, 0x10, 0x78, //Driver Timing A [04 11 7A]
0xCB, 5, 0x39, 0x2C, 0x00, 0x34, 0x02, //Power Control A [39 2C 00 34 02]
0xF7, 1, 0x20, //Pump Ratio [10]
0xEA, 2, 0x00, 0x00, //Driver Timing B [66 00]
0xB0, 1, 0x00, //RGB Signal [00]
0xB1, 2, 0x00, 0x1B, //Frame Control [00 1B]
// 0xB6, 2, 0x0A, 0xA2, 0x27, //Display Function [0A 82 27 XX] .kbv SS=1
0xB4, 1, 0x00, //Inversion Control [02] .kbv NLA=1, NLB=1, NLC=1
0xC0, 1, 0x21, //Power Control 1 [26]
0xC1, 1, 0x11, //Power Control 2 [00]
0xC5, 2, 0x3F, 0x3C, //VCOM 1 [31 3C]
0xC7, 1, 0xB5, //VCOM 2 [C0]
0x36, 1, 0x48, //Memory Access [00]
0xF2, 1, 0x00, //Enable 3G [02]
0x26, 1, 0x01, //Gamma Set [01]
0xE0, 15, 0x0f, 0x26, 0x24, 0x0b, 0x0e, 0x09, 0x54, 0xa8, 0x46, 0x0c, 0x17, 0x09, 0x0f, 0x07, 0x00,
0xE1, 15, 0x00, 0x19, 0x1b, 0x04, 0x10, 0x07, 0x2a, 0x47, 0x39, 0x03, 0x06, 0x06, 0x30, 0x38, 0x0f,
};
table8_ads = ILI9341_regValues_2_4, table_size = sizeof(ILI9341_regValues_2_4); //
// static const uint8_t ILI9341_regValues_ada[] = { // Adafruit_TFTLCD only works with EXTC=0
// // 0xF6, 3, 0x00, 0x01, 0x00, //Interface Control needs EXTC=1 TM=0, RIM=0
// // 0xF6, 3, 0x01, 0x01, 0x03, //Interface Control needs EXTC=1 RM=1, RIM=1
// 0xF6, 3, 0x09, 0x01, 0x03, //Interface Control needs EXTC=1 RM=0, RIM=1
// 0xB0, 1, 0x40, //RGB Signal [40] RCM=2
// 0xB4, 1, 0x00, //Inversion Control [02] .kbv NLA=1, NLB=1, NLC=1
// 0xC0, 1, 0x23, //Power Control 1 [26]
// 0xC1, 1, 0x10, //Power Control 2 [00]
// 0xC5, 2, 0x2B, 0x2B, //VCOM 1 [31 3C]
// 0xC7, 1, 0xC0, //VCOM 2 [C0]
// 0x36, 1, 0x88, //Memory Access [00]
// 0xB1, 2, 0x00, 0x1B, //Frame Control [00 1B]
// 0xB7, 1, 0x07, //Entry Mode [00]
// };
// table8_ads = ILI9341_regValues_ada, table_size = sizeof(ILI9341_regValues_ada); //
#define HEIGHT 320
#define WIDTH 240
#endif Это отлично! Как раз у меня все китайские энкодеры идут наоборотИ добавил реверс.
нет. выбирал и 9341 и другие пробовал. Экран не работает, ставлю ту прошивку, экран заводитсяесли выбрать #define SUPPORT_9340 в файле LCD_DRIVER.h, то дисплей не работает?
PSL3604 ILI 9341_3 название прошивки, брал вроде ее на diod, но сейчас он вообще не работает
Только из-за того что на нем написано. Но даже если раскоментировать ili9341 (судя по названию прошивки) он тоже не работает
Сейчас перебираю по порядку, пока не завелся, больше половины прошел уже
Сейчас перебираю по порядку, пока не завелся, больше половины прошел уже
[uquote="imon220",url="/forum/viewtopic.php?p=4271069#p4271069"]перебираю по порядку, пока не завелся, больше половины прошел уже[/uquote]Запустился или глухо?


