девчонка
Солнце 15 июля 2018 г. 14:25
Привет,
Я использовал интерфейс SPI с ST7735 TFT. Я получил работу с Software SPI.
Но аппаратный SPI не работает.
Я также проверил с помощью логического анализатора. С HWSPI, логический уровень, не изменяющийся для 4 булавок.
Вот набросок:
Я использовал интерфейс SPI с ST7735 TFT. Я получил работу с Software SPI.
Но аппаратный SPI не работает.
Я также проверил с помощью логического анализатора. С HWSPI, логический уровень, не изменяющийся для 4 булавок.
Вот набросок:
--------------------------------
APDS9960 - GestureTest demo
--------------------------------
APDS-9960 initialization complete
Detected ID: 0xA8
Gesture sensor is now running
Detected gesture: UP RIGHT
Detected gesture: DOWN LEFT
Detected gesture: UP LEFT
Detected gesture: DOWN LEFT
Detected gesture: UP RIGHT
Detected gesture: DOWN LEFT
Detected gesture: DOWN RIGHT
Detected gesture: LEFT
Detected gesture: RIGHT
Detected gesture: LEFT
Detected gesture: RIGHT
Detected gesture: LEFT
Detected gesture: UP
Detected gesture: DOWN
Detected gesture: UP
Detected gesture: DOWN
Detected gesture: FAR APPROACHING
Detected gesture: NEAR APPROACHING
Detected gesture: NEAR
Detected gesture: NEAR
Detected gesture: NEAR
Detected gesture: NEAR DEPARTING
Detected gesture: FAR
Detected gesture: FAR
Detected gesture: NEAR APPROACHING
Detected gesture: NEAR
Detected gesture: NEAR DEPARTING
Detected gesture: FAR
Detected gesture: FAR
Detected gesture: FAR APPROACHING
Detected gesture: NEAR APPROACHING
Detected gesture: NEAR
Detected gesture: FAR DEPARTING
Detected gesture: FAR
Detected gesture: FAR APPROACHING
Detected gesture: NEAR DEPARTING
Mrburnette
Солнце 15 июля 2018 г. 14:35
Может, посмотрите эти потоки:
Что касается библиотеки Адафрута: https: // www.STM32duino.com/viewtopic.pH ... 6&начало = 10
&
Что касается булавок SPI: ViewTopic.PHP?T = 1767
&
Примечания из вики: https: // github.com/rogerclarkmelbourne/ ... 2/Вики/SPI
Пример синтаксиса от STM32Duino GitHub: https: // github.com/rogerclarkmelbourne/ ... _Spi_ports
Надеюсь, я дал вам ссылки на Diest Current (Lodess) HW SPI -ссылки, но я, возможно, потерпел неудачу в своих поисках. Я не был активным на этом сайте в течение многих месяцев, и я, возможно, пропустил несколько недавних изменений (в основном я не в ESP32 и RPI в наши дни.)
Луча
Что касается библиотеки Адафрута: https: // www.STM32duino.com/viewtopic.pH ... 6&начало = 10
&
Что касается булавок SPI: ViewTopic.PHP?T = 1767
&
Примечания из вики: https: // github.com/rogerclarkmelbourne/ ... 2/Вики/SPI
Пример синтаксиса от STM32Duino GitHub: https: // github.com/rogerclarkmelbourne/ ... _Spi_ports
Надеюсь, я дал вам ссылки на Diest Current (Lodess) HW SPI -ссылки, но я, возможно, потерпел неудачу в своих поисках. Я не был активным на этом сайте в течение многих месяцев, и я, возможно, пропустил несколько недавних изменений (в основном я не в ESP32 и RPI в наши дни.)
Луча
Хобби
Sun 15 июля 2018 г., 16:11
Вы правильно определили и подключили порт SPI?
- SPI1.JPG (50.85 киб) просмотрено 787 раз
Стивестронг
Солнце 15 июля 2018 г. 16:43
[девчонка - Солнце 15 июля 2018 г. 14:25] - Нужно ли определить, какой интерфейс SPI будет использоваться?Да. Если вы ничего не указаете, будет использоваться SPI по умолчанию (порт 1).
Кроме того, я не вижу, где в библиотеке инициализируется интерфейс SPI (используя SPI.начинать). Это может быть причиной, почему это не работает.
Я рекомендую сделать это в вашем эскизе перед TFT.инициатор.
Вы используете оригинальный Adafruit Lib или из Kenjutsu? Пожалуйста, предоставьте ссылку.
девчонка
Вт 17 июля 2018 г., 17:02
все еще не работает...
Я позвонил SPI.начинать() но это будет называться по умолчанию, если я позвоню начало транзакции.
Я позвонил SPI.начинать() но это будет называться по умолчанию, если я позвоню начало транзакции.
Стивестронг
Вторник 17 июля 2018 г. 20:32
Куда вы называете начало транзакции?
Я не вижу этого.
Я не вижу этого.
девчонка
Ср. 18 июля 2018 г. 15:27
Я назвал SPI.Начните в adafruit_st7735.Файл CPP. И вот изменение.
Ambient: 8926 Red: 3795 Green: 65535 Blue: 0
Ambient: 8933 Red: 3797 Green: 65535 Blue: 0
Стивестронг
Ср. 18 июля 2018 г. 15:38
Это не подходящее место для названия SPI.начинать().
Я рекомендую сделать это в вашем эскизе перед вызовом TFT.инициатор.
Я рекомендую сделать это в вашем эскизе перед вызовом TFT.инициатор.
девчонка
Пт 20 июля 2018 г. 14:57
Спасибо..Сейчас работает...
Стивестронг
Пт 20 июля 2018 г. 15:02
Пожалуйста, скажите нам, что вы сделали, что это работает сейчас, это может быть полезно для других читателей.
Кенджуцу
Пн 23 июля 2018 г. 8:26 утра
Добрый день
Можете ли вы взглянуть на мой ответ здесь: Re: LCD на основе ST7735?
Если возможно, можете ли вы предоставить обратную связь?
Спасибо
Можете ли вы взглянуть на мой ответ здесь: Re: LCD на основе ST7735?
Если возможно, можете ли вы предоставить обратную связь?
Спасибо
девчонка
Вт 24 июля 2018 г. 16:33
Спасибо. Моя также начала работать. Я использую ту же библиотеку по умолчанию из Adafruit.
Вот .INO -файл.
Вот .INO -файл.
#include
#include
#include
#include
#include "SdFat.h"
SPIClass _SPI(2);
#define ce_nrf PA8
#define csn_nrf PB12
#define irq_nrf PA0
#define cs_sd PA4
#define lmp_hijau PA2
#define lmp_merah PA3
Enrf24 radio(ce_nrf, csn_nrf, irq_nrf);
const uint8_t node[] = { 0xF0F0F0F0E1LL };
//const uint64_t node[] = {0xF0F0F0F0E1LL, 0xF0F0F0F0E2LL};
SdFat SD;
File file;
void setup() {
Serial1.begin(9600);
_SPI.begin();
_SPI.setDataMode(SPI_MODE0);
_SPI.setBitOrder(MSBFIRST);
pinMode(lmp_hijau, OUTPUT);
pinMode(lmp_merah, OUTPUT);
Serial1.print("Initializing SD card...");
if (!SD.begin(cs_sd)) {
Serial1.println("initialization failed!");
return;
}
Serial1.println("Initializing SD card done.");
radio.setSPI(&_SPI);
radio.begin(); // Defaults 1Mbps, channel 0, max TX power
radio.setRXaddress((void*)node);
radio.enableRX();
}
void loop() {
char uid[] = "";
radio_state(radio.radioState());
while (!radio.available(true));
if (radio.read(uid))
{
Serial1.print("Received packet: ");
Serial1.println(uid);
file = SD.open("18042018.txt", FILE_WRITE);
if (file)
{
file.println(uid);
file.close();
Serial1.println("done.");
digitalWrite(lmp_hijau, HIGH);
delay(200);
digitalWrite(lmp_hijau, LOW);
}
else
{
Serial1.println("error opening file");
digitalWrite(lmp_merah, HIGH);
delay(200);
digitalWrite(lmp_merah, LOW);
}
}
}
void radio_state(uint8_t status)
{
Serial1.print("Enrf24 radio transceiver status: ");
switch (status) {
case ENRF24_STATE_NOTPRESENT:
Serial1.println("NO TRANSCEIVER PRESENT");
break;
case ENRF24_STATE_DEEPSLEEP:
Serial1.println("DEEP SLEEP <1uA power consumption");
break;
case ENRF24_STATE_IDLE:
Serial1.println("IDLE module powered up w/ oscillators running");
break;
case ENRF24_STATE_PTX:
Serial1.println("Actively Transmitting");
break;
case ENRF24_STATE_PRX:
Serial1.println("Receive Mode");
break;
default:
Serial1.println("UNKNOWN STATUS CODE");
}
}