Кенджуцу
Чт, 04 февраля 2016 г. 8:27 утра
Rogerclark
Чт, 04 февраля 2016 г. 10:23
Спасибо за публикацию
Tiger762
Чт, 04 февраля 2016 г., 15:52
Единственное, что мне нужно было сделать, когда я подключил BMP180, - это изменить провод.H от
#define SDA 19
#define SCL 20
к:
#define SDA 23
#define scl 22
Для «синего» STM32F103C8T6 с использованием порта I2C на PB6+PB7. Затем смог запустить эскиз i2c_scanner. Возвращен адрес I2C 0x77. Оттуда пошел на все шарики с образцом адафрута. Получил темп/пресс/высота в серийном мониторе
#define SDA 19
#define SCL 20
к:
#define SDA 23
#define scl 22
Для «синего» STM32F103C8T6 с использованием порта I2C на PB6+PB7. Затем смог запустить эскиз i2c_scanner. Возвращен адрес I2C 0x77. Оттуда пошел на все шарики с образцом адафрута. Получил темп/пресс/высота в серийном мониторе
ZMEMW16
Чт, 04 февраля 2016 г., 19:31
Я немного сбил с толку; какая доска с синими таблетками это? ссылка, если возможно.
Не решается SDA SCL, но, возможно, #undef SDA #Define SDA и т. Д
Позвольте кому -нибудь спросить, почему их не? Вместо того, чтобы работать, вам нужно изменить довольно низкие файлы?
Стивен
Не решается SDA SCL, но, возможно, #undef SDA #Define SDA и т. Д
Позвольте кому -нибудь спросить, почему их не? Вместо того, чтобы работать, вам нужно изменить довольно низкие файлы?
Стивен
Tiger762
Чт, 04 февраля 2016 г., 22:58
Это та же доска, я думаю, большинство из нас используют:
http: // www.eBay.com/itm/321569700934
Модификация провода.H был уместным, потому что именно там определены SDA и SCL. Другие файлы получат значения для SDA/SCL из провода.час. Два булавки, которые они были определены, не являются, по крайней мере, на этой плате.
http: // www.eBay.com/itm/321569700934
Модификация провода.H был уместным, потому что именно там определены SDA и SCL. Другие файлы получат значения для SDA/SCL из провода.час. Два булавки, которые они были определены, не являются, по крайней мере, на этой плате.
Кенджуцу
Пт, 05 февраля 2016 г. 5:40 утра
Это очень странно. У меня такой же тип Синяя таблетка Правление, а шахта работает без каких -либо изменений в Проволока.час
ZMEMW16
Пт. 05 февраля 2016 г. 14:05
@tiger762
разгона мудрая красная таблетка == Синяя таблетка; SCL/SDA - 16,15 в соответствии с моими расписками и схемой.
Различия являются физическими, размер заглушек, USB -гнездо и регулятор 3V3
Физически из Topside Board SWD Conc End, справа 3V3, GND, 3V3, PB9, PB8 (32), PB7 SDA (15), PB6 SCL (16)
Где вы нашли эти пин -номера 19, 20 (на таблетке это PB3 & PA15) & также 22, 23 (на таблетке они не распределены)?
Я очень сильно сомневаюсь, что интерфейс I2C будет разделиться на разные порты на разные порты.
Стивен
разгона мудрая красная таблетка == Синяя таблетка; SCL/SDA - 16,15 в соответствии с моими расписками и схемой.
Различия являются физическими, размер заглушек, USB -гнездо и регулятор 3V3
Физически из Topside Board SWD Conc End, справа 3V3, GND, 3V3, PB9, PB8 (32), PB7 SDA (15), PB6 SCL (16)
Где вы нашли эти пин -номера 19, 20 (на таблетке это PB3 & PA15) & также 22, 23 (на таблетке они не распределены)?
Я очень сильно сомневаюсь, что интерфейс I2C будет разделиться на разные порты на разные порты.
Стивен
Mrburnette
Пт. 05 февраля 2016 г. 15:13
Tiger762 написал:
<...>
Модификация провода.H был уместным, потому что именно там определены SDA и SCL. Другие файлы получат значения для SDA/SCL из провода.час. Два булавки, которые они были определены, не являются, по крайней мере, на этой плате.
Модификация провода.H был уместным, потому что именно там определены SDA и SCL. Другие файлы получат значения для SDA/SCL из провода.час. Два булавки, которые они были определены, не являются, по крайней мере, на этой плате.
Rogerclark
Пт, 05 февраля 2016 г., 8:16 вечера
Я помню, как кто -то упоминает определение для SCL и SDA некоторое время назад, но я не могу помнить именно то, в чем была проблема.
Я думаю, это было просто то, что определения не использовались в глобальном конструкторе для провода, но мне пришлось дважды проверить.
Причина, по которой мы используем рассматриваемые 2 контакта, заключается в том, что они являются аппаратными контактами i2c, даже если класс провода по умолчанию использует программное обеспечение i2c.
Так что любой, у кого есть существующее оборудование, мог попробовать Admware i2c и не должен переоценить.
На самом деле, теперь аппаратное i2c работает, возможно, это должен быть класс проводов по умолчанию, но изменение его может вызвать множество проблем для людей, поэтому я подозреваю, что слишком поздно изменить его сейчас.
К сожалению, с языком Arduino, LIBS WIRE (и SPI и т. Д.) Создают глобальные экземпляры объекта по умолчанию. Что было хорошо на ограниченном оборудовании AVR, но стало строительством на STM32 и других более мощных и гибких MCUS.
Следовательно, наш обходной путь в SPI, чтобы изменить канал класса по умолчанию.
Я предполагаю, что нам нужно будет реализовать такую же функциональность, что и дополнение к проводе, чтобы изменить, что прикрепляет используемый глобальный экземпляр.
Пожалуйста, не стесняйтесь написать эту новую функциональность и отправить запрос на привлечение .
Я думаю, это было просто то, что определения не использовались в глобальном конструкторе для провода, но мне пришлось дважды проверить.
Причина, по которой мы используем рассматриваемые 2 контакта, заключается в том, что они являются аппаратными контактами i2c, даже если класс провода по умолчанию использует программное обеспечение i2c.
Так что любой, у кого есть существующее оборудование, мог попробовать Admware i2c и не должен переоценить.
На самом деле, теперь аппаратное i2c работает, возможно, это должен быть класс проводов по умолчанию, но изменение его может вызвать множество проблем для людей, поэтому я подозреваю, что слишком поздно изменить его сейчас.
К сожалению, с языком Arduino, LIBS WIRE (и SPI и т. Д.) Создают глобальные экземпляры объекта по умолчанию. Что было хорошо на ограниченном оборудовании AVR, но стало строительством на STM32 и других более мощных и гибких MCUS.
Следовательно, наш обходной путь в SPI, чтобы изменить канал класса по умолчанию.
Я предполагаю, что нам нужно будет реализовать такую же функциональность, что и дополнение к проводе, чтобы изменить, что прикрепляет используемый глобальный экземпляр.
Пожалуйста, не стесняйтесь написать эту новую функциональность и отправить запрос на привлечение .
Tiger762
Сб 06 февраля 2016 г. 14:04
Serial.print("PB6: ");
Serial.println(PB6);
Serial.print("PB7: ");
Serial.println(PB7);
ZMEMW16
Сб 06 февраля 2016 г., 19:39
что -то где -то не так!
Debian Jessie 32bit в течение полуночи с Arduino 1.6.5R5 Linux 32-битный и arduino_stm32-310116-1345
Если я правильно рассчитываю, вы подключены к PB10, PB11 - это i2c2
для i2C1 это 180 вращающихся таблеток и дополнительная булавка вдоль
мои синие таблетки и сбрасываются
PA0: 0 PB0: 16
PA1: 1 PB1: 17
PA2: 2 PB2: 18
PA3: 3 PB3: 19
PA4: 4 PB4: 20
PA5: 5 PB5: 21
PA6: 6 PB6: 22
PA7: 7 PB7: 23
PA9: 9 PB9: 25
PA10: 10 PB10: 26
PA11: 11 PB11: 27
PA12: 12 PB12: 28
PA13: 13 PB13: 29
PA14: 14 PB14: 30
PA15: 15 PB15: 31
Debian Jessie 32bit в течение полуночи с Arduino 1.6.5R5 Linux 32-битный и arduino_stm32-310116-1345
Если я правильно рассчитываю, вы подключены к PB10, PB11 - это i2c2
для i2C1 это 180 вращающихся таблеток и дополнительная булавка вдоль
мои синие таблетки и сбрасываются
PA0: 0 PB0: 16
PA1: 1 PB1: 17
PA2: 2 PB2: 18
PA3: 3 PB3: 19
PA4: 4 PB4: 20
PA5: 5 PB5: 21
PA6: 6 PB6: 22
PA7: 7 PB7: 23
PA9: 9 PB9: 25
PA10: 10 PB10: 26
PA11: 11 PB11: 27
PA12: 12 PB12: 28
PA13: 13 PB13: 29
PA14: 14 PB14: 30
PA15: 15 PB15: 31
Tiger762
Сб 06 февраля 2016 г., 8:16 вечера
Пара вещей. Предыдущий пост отображал значения PB6, а PB7 - шестнадцатеричная. PB6 - 22 в десятичном и PB7 - 23. Кроме того, BMP180 находится в правом нижнем углу и подключен к I2C1, который находится в верхнем левом. Я посмотрел на картинку и вижу, как она сбивает с толку, потому что мой модуль GPS подключен к USART#3, который делится штифтами с i2C2. Я также использовал синий/фиолетовый для i2C1 (BMP180) и USART3 (NEO-6M)
Надеюсь, это прояснит любую путаницу.
Надеюсь, это прояснит любую путаницу.
ZMEMW16
Сб 06 февраля 2016 г., 8:22 вечера
Serial.print("PA13: ");
Serial.print(PA13,16);
Serial.print("\tPB13: ");
Serial.println(PB13,16);
Rogerclark
Сб 06 февраля 2016 г., 8:55 вечера
Я предполагаю, что мы могли бы реализовать SetModule (int i2CChannel) для провода так же, как это было сделано для SPI
Однако, поскольку класс проводов по умолчанию на самом деле является SW, а не HW I2C, может быть лучше добавить функцию, называемую SetPins (int SCL, int SDA)
На самом деле, класс разоблачает свойства как для выводов SCL, так и для SDA,
Однако, поскольку класс проводов по умолчанию на самом деле является SW, а не HW I2C, может быть лучше добавить функцию, называемую SetPins (int SCL, int SDA)
На самом деле, класс разоблачает свойства как для выводов SCL, так и для SDA,
class TwoWire : public WireBase {
public:
uint8 i2c_delay;
uint8 scl_pin;
uint8 sda_pin;
Mrburnette
Сб 06 февраля 2016 г. 11:31
Rogerclark написал:
т.е.scl_pin и проволока.SDA_PIN
Поэтому, если кто -то хотел использовать разные булавки, самая легкая вещь - просто написать код, чтобы установить их в Setup ()
Поэтому, если кто -то хотел использовать разные булавки, самая легкая вещь - просто написать код, чтобы установить их в Setup ()