Димдим
Пт 28 октября 2016 г. 15:59
Привет, ребята,
У меня странная проблема.
Несколько месяцев назад я написал кусок кода, который использовал библиотеку ILI9341_DUE, чтобы нарисовать на классическом eBay 2.4 дюйма.
Он без проблем составлен на совместимой Arduino IDE того времени (1.6.5 или что -то в этом роде) и бегал на синей таблетках.
Вот первые несколько строк моего кода:
У меня странная проблема.
Несколько месяцев назад я написал кусок кода, который использовал библиотеку ILI9341_DUE, чтобы нарисовать на классическом eBay 2.4 дюйма.
Он без проблем составлен на совместимой Arduino IDE того времени (1.6.5 или что -то в этом роде) и бегал на синей таблетках.
Вот первые несколько строк моего кода:
#include "Arduino.h"
#include
//#include
//#include
#include
#include
#include "fonts\MS_Sans_Serif_25.h"
#define TFT_DC PA15
#define TFT_CS PB4
#define rst PB3
// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
ILI9341_due tft = ILI9341_due(TFT_CS, TFT_DC, rst);
ILI9341_due_gText t1(&tft);
char textBuff[20];
// Color set
#define BLACK 0x0000
#define RED 0xF800
#define GREEN 0x07E0
//#define BLUE 0x001F
#define BLUE 0x102E
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define ORANGE 0xFD20
#define GREENYELLOW 0xAFE5
#define DARKGREEN 0x03E0
#define WHITE 0xFFFF
uint16_t color;
uint16_t colorFONDO=BLACK;
String serialin;
String pch;
char str[600];
char tmp[40];
#define MAX_STRING_LEN 600
Мэнни
Пт 28 октября 2016 г., 19:18
Далеко от эксперта, но попробуйте прокомментировать
#include "pins_arduino.h"
Rogerclark
Пт 28 октября 2016 г., 8:15 вечера
Этот пример больше не может компилировать.
Используйте тот, который с _STM в его имени, я думаю, что кто -то все еще компилируется и работает.
Мы действительно должны проверить более старые примеры и удалить все, что больше не работает с нашей текущей кодовой базой
Используйте тот, который с _STM в его имени, я думаю, что кто -то все еще компилируется и работает.
Мы действительно должны проверить более старые примеры и удалить все, что больше не работает с нашей текущей кодовой базой
Martinayotte
Пт 28 октября 2016 г., 20:23
Проблема в том, как упоминал @Manny, я помню, что это была проблема прошлым летом:
http: // www.STM32duino.com/viewtopic.PHP ... = 30#p16026
http: // www.STM32duino.com/viewtopic.PHP ... = 30#p16026
Димдим
Сб 29 октября 2016 г., 21:30
Забавно, я на самом деле прочитал эту ветку и увидел этот пост, но не понял, что это исправило проблему. Мой плохой!
В любом случае, спасибо всем за помощь. Все сейчас хорошо складывается.
В любом случае, спасибо всем за помощь. Все сейчас хорошо складывается.
Rogerclark
Сб 29 октября 2016 г., 22:43
Ребята
Похоже, проблема в том, что библиотека Touch, так и библиотека Due ILI9341 оба включают pins_arduino.час
Проблема в основном либера
В любом случае. Я прокомментировал линии оскорбления, и я подтолкнул обновление к GitHub
Похоже, проблема в том, что библиотека Touch, так и библиотека Due ILI9341 оба включают pins_arduino.час
Проблема в основном либера
В любом случае. Я прокомментировал линии оскорбления, и я подтолкнул обновление к GitHub
Димдим
Солнце 30 октября 2016 г. 1:41
Я мог говорить слишком рано.
utftdemo на IDE 1.6.12 с текущими компилированными компиляциями arduino_stm32 (Master Branch) без ошибок, но код не работает (или TFT не инициализируется должным образом - я не уверен). Я просто получаю статический рисунок чередующегося черного & Белые вертикальные линии.
utftdemo на IDE 1.6.5-r2 с arduino_stm32 загружен из Github в течение 11 апреля 2016 г. работает просто хорошо.
Все остальное такое же (тот же компьютер, та же синяя таблетка & TFT).
utftdemo на IDE 1.6.12 с текущими компилированными компиляциями arduino_stm32 (Master Branch) без ошибок, но код не работает (или TFT не инициализируется должным образом - я не уверен). Я просто получаю статический рисунок чередующегося черного & Белые вертикальные линии.
utftdemo на IDE 1.6.5-r2 с arduino_stm32 загружен из Github в течение 11 апреля 2016 г. работает просто хорошо.
Все остальное такое же (тот же компьютер, та же синяя таблетка & TFT).
Rogerclark
Солнце 30 октября 2016 г., 7:47
Какой пример - это ?
Определенно была проблема с PINS_ARDUINO, но я не уверен, почему мы вообще не сталкиваемся с примером, так как это не совсем актуально, теперь другие примеры для ILI9341 работают
Определенно была проблема с PINS_ARDUINO, но я не уверен, почему мы вообще не сталкиваемся с примером, так как это не совсем актуально, теперь другие примеры для ILI9341 работают
Димдим
Солнце 30 октября 2016 г. 13:27
Я пробовал примеры adafruit_ili9341_stm/graphicstest, ili9341_due_stm/graphicstest, ili9341_due_stm/utftdemo, adafruit_ili9341_stm/stm32_graphicstest, adafruit_ili9341_stm/stm32_graphicstest,.
Все они скомпилируются, но не бегают.
Глядя на мой серийный порт, когда я запустил adafruit_ili9341_stm/stm32_graphicstest все, что я получил, было:
Все они скомпилируются, но не бегают.
Глядя на мой серийный порт, когда я запустил adafruit_ili9341_stm/stm32_graphicstest все, что я получил, было:
ILI9341 Test!
Display Power Mode: 0x0
MADCTL Mode: 0xDE
&
Дэйвид.Прентис
Ср. 16 ноября 2016 г., 9:15
Я только что установил текущий STM32Duino на мой V1.6.12 IDE и AM управляют доской Nucleo-F103.
Я также столкнулся с теми же авариями, но мог отлаживать файл ELF с Rowley CrossWorks.
Проблема заключается в макросе f (), который используется Arduino для доступа к строкам во Flash.
C: \ users \ david \ documents \ arduino \ arpware \ arduino_stm32-master \ stm32f1 \ cores \ maple \ wstring.час
Я также столкнулся с теми же авариями, но мог отлаживать файл ELF с Rowley CrossWorks.
Проблема заключается в макросе f (), который используется Arduino для доступа к строкам во Flash.
C: \ users \ david \ documents \ arduino \ arpware \ arduino_stm32-master \ stm32f1 \ cores \ maple \ wstring.час
class __FlashStringHelper;
#define F(string_literal) (reinterpret_cast(PSTR(string_literal)))
Rogerclark
Ср 16 ноября 2016 г., 19:35
M -макрос - это всего лишь ярлык для предварительной проглемы, необходимой из -за архитектуры AVR.
На процессорах ARM вы используете нормальные принципы языка C, такие как Const, для достижения того же самого более настроенного образом
На процессорах ARM вы используете нормальные принципы языка C, такие как Const, для достижения того же самого более настроенного образом
Дэйвид.Прентис
Чт 17 ноября 2016 г. 18:58
Я написал небольшой тестовый набросок:
void setup()
{
char message[40];
delay(5000);
Serial.begin(9600);
Serial.println("Hello Serial");
delay(5000);
strcpy(message, (const char*)F("Flash Message copied to SRAM"));
Serial.println(message);
delay(5000);
Serial.println(F("Flash Message"));
delay(5000);
Serial.println("Are we still alive?");
}
void loop()
{
}
Rogerclark
Чт 17 ноября 2016 г., 21:37
Дэйвид
ХОРОШО. Я думал наш отпечаток.CPP был такой же, как версия Arduino Sam, но похоже, что это не так?
ХОРОШО. Я думал наш отпечаток.CPP был такой же, как версия Arduino Sam, но похоже, что это не так?
Вадимель
Вт 29 ноября 2016 г. 12:01
Та же проблема, программа Freez на f ()
нравиться
тфу.print (f ("test"));
После загрузки и установки новой версии arduino_stm32
-----------------------------------
нравиться
тфу.print (f ("test"));
После загрузки и установки новой версии arduino_stm32
-----------------------------------
#undef F
#define F(x) x
Даниэфф
Вт 29 ноября 2016 г. 12:12
Изменение строки 46 в печати.CPP от
return print(reinterpret_cast(ifsh));
Стивестронг
Вт 29 ноября 2016 г. 12:33
Я сделал проблему на GitHub, Проверьте это здесь.