Нагисса
Пн, 04 мая 2015 г., 20:26
Привет,
Я переношу RTC в мини -библиотеку I²C от Arduino Nano в Maple Mini: https: // github.com/naguissa/rtclib
Я пытаюсь использовать аппаратные порты I²C и добавил вариант обработки частной переменной правильного провода:
Я переношу RTC в мини -библиотеку I²C от Arduino Nano в Maple Mini: https: // github.com/naguissa/rtclib
Я пытаюсь использовать аппаратные порты I²C и добавил вариант обработки частной переменной правильного провода:
#ifdef _VARIANT_ARDUINO_STM32_
HardWire RTCLIB_WIRE = HardWire(2);
#else
Wire RTCLIB_WIRE = Wire;
#endif
Мадиас
Пн, 04 мая 2015 г., 21:09
HM, ОК, это мои строки кода I2C HW из моей адаптированной библиотеки SSD1306, может быть, вы что -то пропустили....
*.час:
*.час:
#define WIRE_WRITE HWIRE.write
Мадиас
Пн, 04 мая 2015 г., 21:28
Хорошо, я попробовал что -нибудь для вас (на моей доске Nucleo):
Настройка моего I2C OLED на i2C2
Настройка серийного (IS HW на Nucleo), Serial1 и Serial2
петля:
Нарисуйте некоторые вещи на OLED
сериал.Печать на всех трех портах.
Код работает и работает....
Результаты для Maple Mini:
Использование I2C1 (потому что I2C2 акции USART3)
Все работает так, как ожидалось, так что HW Wire и Serial (1-3) вместе работают для меня
Настройка моего I2C OLED на i2C2
Настройка серийного (IS HW на Nucleo), Serial1 и Serial2
петля:
Нарисуйте некоторые вещи на OLED
сериал.Печать на всех трех портах.
Код работает и работает....
Результаты для Maple Mini:
Использование I2C1 (потому что I2C2 акции USART3)
Все работает так, как ожидалось, так что HW Wire и Serial (1-3) вместе работают для меня
Нагисса
Вторник 5 мая 2015 г., 3:21
Может быть, операция по выводу на объявлении, как объяснено здесь: ViewTopic.PHP?f = 15&t = 52&P = 222
Я проверю позже.
Я проверю позже.
Rogerclark
Вторник 5 мая 2015 г., 3:30
Если проблема заключается в использовании GPIO в конструкторе, мы рассмотрим изменение, которое может исправить это, объявив PIN_MAP в __flash__ и const, чтобы компилятор переполнял массив, и он должен быть доступен для всех функций например. Pinmode и т.д
Однако нам нужно сначала провести некоторое тестирование, чтобы увидеть, есть ли это изменение каких -либо непреднамеренных побочных эффектов
Однако нам нужно сначала провести некоторое тестирование, чтобы увидеть, есть ли это изменение каких -либо непреднамеренных побочных эффектов
Rogerclark
Чт, 7 мая 2015 г., 21:05
Надеемся, что это исправлено в филиале PIM_MAP-In-Flash Repo, которая, если я объединился с мастером после того, как у него было достаточное количество общественных испытаний
См. Раздел объявления
См. Раздел объявления
Нагисса
Чт, 7 мая 2015 г., 21:51
Я все еще изучаю в оригинальных заголовках клена. Похоже, что в чтении I2C Writes Writes не висит (чтобы проверить, работает ли это). Может быть, 400 кГц I2C не поддерживается моим RTC (400 кГц стандартный на Hardwire). Кроме того, я плохо программирую переменную провода, я должен изменить ее на указатель, указывая проволоку на AVR или New Hardwire (1 или 2) в STM32.
Rogerclark
Чт, 7 мая 2015 г., 21:53
Вы пробовали ветвь, которую я натолкнул вчера, с картой перехода на PIN?
Кстати, новый код также не мигает светодиода в утверждении
Однако количество мест, которые используют Assert, очень мало, поэтому кажется маловероятным, что код утверждается
Если это утверждение, попробуйте подключить USB к последовательному адаптеру к аппаратному сериалу, это может быть написано сообщение об ошибке
Кстати, новый код также не мигает светодиода в утверждении
Однако количество мест, которые используют Assert, очень мало, поэтому кажется маловероятным, что код утверждается
Если это утверждение, попробуйте подключить USB к последовательному адаптеру к аппаратному сериалу, это может быть написано сообщение об ошибке
Нагисса
Пт, 8 мая 2015 г., 17:07
Код пересмотрен --> Не повезло
Сериал --> Ничего не показано. Это Rx & TX между Pins USB и SPI2, справа?
Сериал --> Ничего не показано. Это Rx & TX между Pins USB и SPI2, справа?
Нагисса
Пт, 8 мая 2015 г., 17:30
Просто следуя коду, я обнаружил, что ошибка здесь:
Файл: аппаратное обеспечение/arduino_stm32/stm32f1/cores/maple/libmaple/i2c.в
Функция: int32 i2c_master_xfer
Линия: Assert (Dev->state == i2c_state_idle);
Строка №: 228
Кажется, у меня есть последняя версия, так как светодиод Mini не мигает.
Файл: аппаратное обеспечение/arduino_stm32/stm32f1/cores/maple/libmaple/i2c.в
Функция: int32 i2c_master_xfer
Линия: Assert (Dev->state == i2c_state_idle);
Строка №: 228
Кажется, у меня есть последняя версия, так как светодиод Mini не мигает.
Нагисса
Пт, 8 мая 2015 г., 19:42
Я создал филиал и добавил текущие изменения, чтобы увидеть, сможете ли вы мне помочь: https: // github.com/naguissa/rtclib/tree/stm32-dev
Как тест, я использую это:
Как тест, я использую это:
#include "Arduino.h"
#ifdef _VARIANT_ARDUINO_STM32_
#include "HardWire.h"
#else
#include "Wire.h"
#endif
#include "RTCLib.h"
RTCLib rtc;
unsigned int pos;
void setup() {
delay (2000);
Serial.begin(9600);
Serial.println("Serial OK");
// Max position: 32767
for(pos = 0; pos < 100; pos++) {
rtc.eeprom_write(pos, (unsigned char) pos % 256);
}
// Only used once, then disabled
rtc.set(0, 42, 16, 6, 2, 5, 15);
// RTCLib::set(byte second, byte minute, byte hour, byte dayOfWeek, byte dayOfMonth, byte month, byte year)
pos = 0;
#ifdef _VARIANT_ARDUINO_STM32_
Serial.println("Board: Maple");
#else
Serial.println("Board: Other");
#endif
}
void loop() {
Serial.println();
Serial.println("Loop!");
rtc.refresh();
Serial.print("RTC DateTime: ");
Serial.print(rtc.year());
Serial.print('/');
Serial.print(rtc.month());
Serial.print('/');
Serial.print(rtc.day());
Serial.print(' ');
Serial.print(rtc.hour());
Serial.print(':');
Serial.print(rtc.minute());
Serial.print(':');
Serial.print(rtc.second());
Serial.print(" DOW: ");
Serial.print(rtc.dayOfWeek());
Serial.print(" ---- ");
Serial.print(pos);
Serial.print(": ");
Serial.print(rtc.eeprom_read(pos));
Serial.println();
pos++;
pos %= 1000;
delay(99);
}
Rogerclark
Пт 8 мая 2015 г. 22:10
Я уверен, почему вы используете аппаратное обеспечение вместо провода для i2c
Особенно для простого устройства, как RTC
Вы пробовали эскиз сканера I2C с сайта Arduino, он обычно работает и показывает, какие устройства подключены.
Вы можете попробовать это сначала и дайте мне знать, если он обнаружит ваши часы
Особенно для простого устройства, как RTC
Вы пробовали эскиз сканера I2C с сайта Arduino, он обычно работает и показывает, какие устройства подключены.
Вы можете попробовать это сначала и дайте мне знать, если он обнаружит ваши часы
Нагисса
Сб 9 мая 2015 г., 10:47
Я протестировал сканер I2C и хорошо работает.
После этого я изменил его, чтобы использовать «проволоку» или «Hardwire» в зависимости от определения (как моя библиотека, используя указатель). Проволока работает нормально, но Hardwire висит клен.
Насколько я понимаю, провод Maple был программным проводом, но я также думал, что он использовал другие контакты -19 и 20- (я проверил «как есть», без изменения соединений, и это сработало).
Я переоденусь, чтобы использовать проволоку, и это все....
После этого я изменил его, чтобы использовать «проволоку» или «Hardwire» в зависимости от определения (как моя библиотека, используя указатель). Проволока работает нормально, но Hardwire висит клен.
Насколько я понимаю, провод Maple был программным проводом, но я также думал, что он использовал другие контакты -19 и 20- (я проверил «как есть», без изменения соединений, и это сработало).
Я переоденусь, чтобы использовать проволоку, и это все....
Нагисса
Сб 9 мая 2015 г. 11:09
Спасибо всем.
Наконец я использовал стандартный провод, который работает на i2c1.
Он тестируется и объединено для Мастера: https: // github.com/naguissa/rtclib
Теперь давайте продолжим с Wi -Fi, SDCARD, датчиком почвы... Некоторые с общими либерациями, другие с самодельными. У меня был Wi -Fi и Sol -датчик, работавший в моем Nano (не в библиотеках) незадолго до смерти моего жесткого диска...
Наконец я использовал стандартный провод, который работает на i2c1.
Он тестируется и объединено для Мастера: https: // github.com/naguissa/rtclib
Теперь давайте продолжим с Wi -Fi, SDCARD, датчиком почвы... Некоторые с общими либерациями, другие с самодельными. У меня был Wi -Fi и Sol -датчик, работавший в моем Nano (не в библиотеках) незадолго до смерти моего жесткого диска...
Rogerclark
Сб 09 мая 2015 г., 22:59
Могу ли я переупаковать репо и добавить его в раздел библиотеки ?
У вас есть пример кода, который мы могли бы включить в папку примеров
Спасибо
У вас есть пример кода, который мы могли бы включить в папку примеров
Спасибо
Нагисса
Солнце 10 мая 2015 г. 10:38
Нет проблем, это публика.
Например, это в основном тот, который опубликовал ранее:
Например, это в основном тот, который опубликовал ранее:
#include "Arduino.h"
#include "Wire.h"
#include "RTCLib.h"
RTCLib rtc;
unsigned int pos;
void setup() {
delay (2000);
Serial.begin(9600);
Serial.println("Serial OK");
// Max position: 32767
for(pos = 0; pos < 1000; pos++) {
rtc.eeprom_write(pos, (unsigned char) pos % 256);
}
// Only used once, then disabled
// rtc.set(0, 42, 16, 6, 2, 5, 15);
// RTCLib::set(byte second, byte minute, byte hour, byte dayOfWeek, byte dayOfMonth, byte month, byte year)
pos = 0;
#ifdef _VARIANT_ARDUINO_STM32_
Serial.println("Board: Maple");
#else
Serial.println("Board: Other");
#endif
}
void loop() {
rtc.refresh();
Serial.print("RTC DateTime: ");
Serial.print(rtc.year());
Serial.print('/');
Serial.print(rtc.month());
Serial.print('/');
Serial.print(rtc.day());
Serial.print(' ');
Serial.print(rtc.hour());
Serial.print(':');
Serial.print(rtc.minute());
Serial.print(':');
Serial.print(rtc.second());
Serial.print(" DOW: ");
Serial.print(rtc.dayOfWeek());
Serial.print(" ---- ");
Serial.print(pos);
Serial.print(": ");
Serial.print(rtc.eeprom_read(pos));
Serial.println();
pos++;
pos %= 1000;
delay(100);
}
Rogerclark
Солнце 10 мая 2015 г., 10:48 утра
Спасибо
Я просто собирался войти в новую структуру библиотеки, где CPP и H находятся в подпапке, и есть файл описания и т. Д
Другое IDE начинает давать предупреждающие сообщения для некоторых людей (особенно Linux)
Спасибо
Роджер
Я просто собирался войти в новую структуру библиотеки, где CPP и H находятся в подпапке, и есть файл описания и т. Д
Другое IDE начинает давать предупреждающие сообщения для некоторых людей (особенно Linux)
Спасибо
Роджер
Нагисса
Пн 11 мая 2015 г., 4:58 утра
Я переупаковал библиотеку с новым форматом библиотеки и добавленной программой примеров. В репо (мастер) и новой V2.0.1 релиз.
Rogerclark
Пн 11 мая 2015 г., 5:12
Спасибо
Я посмотрю, смогу ли я добавить его в качестве подмодуля GIT
Спасибо
Я посмотрю, смогу ли я добавить его в качестве подмодуля GIT
Спасибо
Rogerclark
Пн 11 мая 2015 г., 10:37
Спасибо
Он был добавлен в виде подмодуля I.e Репо ссылается на ваше репо для файлов.
Он был добавлен в виде подмодуля I.e Репо ссылается на ваше репо для файлов.