По CH32 видео есть и статьи тоже, но мало. В arduino ide с ними работать невозможно, ядро ужасное, пустой скетч занимает больше половины памяти. Есть поддержка в platformIO, но там несколько примеров работы с периферией и все, а комьюнити практически нулевое. Более менее что то можно найти по родной ide Mounriver studio, но там ошибки лезут постоянно со всех сторон.
и на этом основании можно сделать заключение
ладно, про танцора не буду вспоминать.
Да это понятно, Я же и не позиционирую себя как человека шарящего в программировании. Уровень у меня слабый, во многом опираюсь на чужой код. Поэтому для меня ch это трудно, как и для многих думаю тоже.
в каком корпусе у вас lgt8f328p?
просто у sop20 есть нюансы и ваш код работать не будет.
ровно тоже самое можно сказать и про lgt8f328p. И если у вас “уровень слабый, пишу в основном копи-пастом” - то я не вполне понимаю, нафига вы выбрали этот контроллер.
Если вы не очень сильны в контроллерах - выбираайте что-нибудь массовое, по чему больше примеров в интернетах, вот например ту же атмега328
Вспомнил, была ещё тема)))
Прошу прощения, что долго не отвечал. Со вчерашнего дня не могу на форум зайти, не грузится. Сегодня VPN на компьютер поставил, прогрузило. Проблема решилась довольно неожиданным образом: во первых при добавлении вот этих двух строк uint16_t width = 128; uint16_t height = 160;
на дисплее появилась хоть и не правильная но все же картинка (для меня загадка как это работает, т.к. width и height не являются переменными ни одной из функций далее по коду, а за параметры дисплея отвечает функция tft.initR(INITR_BLACKTAB);
. На STM все работает правильно только с ней без дополнительных настроек). Правильное изображение удалось получить при подключении пина cs к D10. Проблема решена. Всем спасибо.
Вот полный код:
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
#include <SPI.h>
#define TFT_CS 10
#define TFT_DC 2
#define TFT_RST 4
uint16_t width = 128;
uint16_t height = 160;
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
void setup(void) {
tft.initR(INITR_BLACKTAB);
tftPrintTest();
}
void loop() {}
void tftPrintTest() {
tft.setTextWrap(false);
tft.setRotation(3);
tft.fillScreen(ST77XX_BLACK);
tft.setCursor(15, 0);
tft.setTextColor(ST77XX_RED);
tft.setTextSize(1);
tft.println(utf8rus("Наименование дисплея "));
tft.setCursor(25, 15);
tft.setTextSize(1,2);
tft.println("YFY177NPQQ906-С");
tft.setTextColor(ST77XX_YELLOW);
tft.setCursor(35, 30);
tft.setTextSize(1);
tft.println(utf8rus("Контроллер"));
tft.setCursor(40, 45);
tft.setTextSize(1,2);
tft.println("ST7735S");
tft.setTextColor(ST77XX_GREEN);
tft.setCursor(35, 60);
tft.setTextSize(1);
tft.println(utf8rus("Биюлиотека"));
tft.setCursor(25, 75);
tft.setTextSize(1,2);
tft.println("Adafruit st7735.h");
tft.setCursor(5, 95);
tft.setTextSize(1);
tft.println(utf8rus("Подключение по SPI шине"));
}
String utf8rus(String source)
{
int i,k;
String target;
unsigned char n;
char m[2] = { '0', '\0' };
k = source.length(); i = 0;
while (i < k) {
n = source[i]; i++;
if (n >= 0xBF){
switch (n) {
case 0xD0: {
n = source[i]; i++;
if (n == 0x81) { n = 0xA8; break; }
if (n >= 0x90 && n <= 0xBF) n = n + 0x2F;
break;
}
case 0xD1: {
n = source[i]; i++;
if (n == 0x91) { n = 0xB7; break; }
if (n >= 0x80 && n <= 0x8F) n = n + 0x6F;
break;
}
}
}
m[0] = n; target = target + String(m);
}
return target;
}
версия библиотеки ST7735 и версия ядра какая
@ua6em , как ни странно, оказался прав
почему странно?
Чисто субъективно, для меня. Я , вообще уже подумывал, может что с питанием не так, или контакты…)))
да?
а вот человек так не думает.
да и ты, думаю, осознаешь, что это
Исхожу из
Проверить не на чем.
Спасибо за видео, посмотрю позже
там кроме аппаратного SPI_SS ничего такого нет на этом пине.
смотря на библиотеку, видно, что она принимает _cs
и при передаче тянет его к земле, не вижу причин не использовать например 7 пин.
но я не буду ничего утверждать, ибо ты правильно сказал
Посмотрел познавательное видео., спсб.
У меня остаётся только одно объяснение - что есть разные версии ядер и библиотек, и , некоторые, работают отлично от других.
Ну так не работайте.
Работайте с тем, с чем умеете.
В чем проблема то?