STM32-RFM69

Каликс
Солнце 03 декабря 2017 г., 19:55
Привет!

Я пытаюсь использовать модуль RFM69HW с платой STM32F401RE (проект таков: https: // github.com/brainelectronics/rfm69-stm32). Я только что обновил ядер STM32 до последней доступной версии: 24.11.2017 (Arduino IDE V1.6.9) Но я получаю эту ошибку при составлении:
Arduino: 1.6.9 (Windows 7), Board: "Nucleo-64, Nucleo F401RE, Mass Storage, Generic Serial, None, Smallest (-Os default)" Build options changed, rebuilding all In file included from C:\Users\Kylix\AppData\Local\Arduino15\packages\STM32\hardware\stm32\2017.11.24\cores\arduino/stm32/PinNames.h:25:0, from C:\Users\Kylix\AppData\Local\Arduino15\packages\STM32\hardware\stm32\2017.11.24\cores\arduino/stm32/pinmap.h:22, from C:\Users\Kylix\AppData\Local\Arduino15\packages\STM32\hardware\stm32\2017.11.24\cores\arduino/stm32/PeripheralPins.h:34, from C:\Users\Kylix\AppData\Local\Arduino15\packages\STM32\hardware\stm32\2017.11.24\cores\arduino/pins_arduino.h:21, from C:\Users\Kylix\AppData\Local\Arduino15\packages\STM32\hardware\stm32\2017.11.24\variants\NUCLEO_F401RE\variant.h:26, from C:\Users\Kylix\AppData\Local\Arduino15\packages\STM32\hardware\stm32\2017.11.24\variants\NUCLEO_F401RE\variant.cpp:19: C:\Users\Kylix\AppData\Local\Arduino15\packages\STM32\hardware\stm32\2017.11.24\cores\arduino/stm32/PortNames.h:74:17: error: expected constructor, destructor, or type conversion before '(' token _Static_assert (LastPort <= 0x0F, "PortName must be less than 16"); ^ exit status 1 Error compiling for board Nucleo-64.

fpistm
Пн декабря 04, 2017 5:56 утра
Привет,

Для первого выпуска: _Static_assert (LastPort <= 0x0F, "PortName must be less than 16");

Каликс
Пн декабря 04, 2017 10:14
Я использую Arduino IDE 1.6.9 на Windows, с STM32 Core, установленным через диспетчер доски. Что еще я должен сделать, чтобы иметь правильную версию GCC?

Странно, что никто еще не пробовал эти библиотеки на F401RE ...
В июле я смог скомпилировать его без ошибок для платы STM32L053R8 (я использовал другую версию пакета Core STM32), но из модуля RFM69HW не было сигнала (проверено с помощью программного обеспечения SDRSHARP и USB Dongle). Я полагаю, что проблема может быть связана с совместимостью с Libmaple, о которой вы говорили...

Во второй библиотеке булавки не в твердом кодировании: https: // github.com/goran-mahovlic/rfm69-stm32

Спасибо за ваше время!

fpistm
Пн, 04 декабря 2017 г., 8:18 вечера
[Каликс - Пн, 04 декабря 2017 г. 10:14] - Странно, что никто еще не пробовал эти библиотеки на F401RE ...
Может быть, некоторые тестируют и исправляют проблемы сами в библиотеке кода... :рулон:

Для этого, https: // github.com/goran-mahovlic/rfm69-stm32
Я только что тестировал, и это все еще немного spi_def, который не был переименован в.
Я только добавил #define SPI_def SPI

Каликс
Пн, 04 декабря 2017 г., 22:08
Спасибо! Теперь он собирает после добавления "#Define SPI_DEF SPI" и удаления другой версии GCC.
Я дам вам знать, если он работает с модулем RFM69 (надеюсь получить свободное время в выходные дни).

Каликс
Пт 08 декабря 2017 г. 15:31
SPI, кажется, работает, так как я могу читать реестр и температуру RFM69. К сожалению, он вообще ничего не передает...
Как PIN -код IRQ я попробовал как PA3, так и PA10.

Стивестронг
Пт 08 декабря 2017 г., 8:27 вечера
Я думаю, что есть ошибка в строка 150: это должно быть _Intertruptpin вместо _Intertruptnum.

Каликс
Пт, 08 декабря 2017 г., 21:12
Они оба используются:

uint8_t _IntertruptPin;
uint8_t _interruptnum;

Стивестронг
Пт, 08 декабря 2017 г., 21:18
Прикрепить потребности () потребности в качестве первого параметра прерывание PIN -код, не номер прерывания (что бы это ни означало).

Каликс
Пт 08 декабря 2017 г., 21:22
Строка 49: https: // github.com/goran-mahovlic/rfm69 ... M69STM32.час

Я думаю, что один используется для определения штифта STM32, а другой для эквивалентного PIN -кода на Arduino.

Стивестронг
Пт, 08 декабря 2017 г., 21:30
Я видел это.
Мой предыдущий комментарий все еще применяется. Извините, если вы не хотите пробовать это. Удачи.

Кстати, я использовал эту LIB: https: // github.com/lowpowerlab/rfm69

Кстати, 2, кажется, что вы дважды публикуете: ViewTopic.PHP?f = 15&t = 1582&hilit = rfm69&начало = 10#p31497

Каликс
Пт, 08 декабря 2017 г., 21:36
Привет, Стив,

ты меня неправильно понял! Я ценю все предложения, которые вы даете.
Просто я уже пытался присвоить то же значение, что -то вроде: #define RF69_IRQ_PIN 3 #define RF69_IRQ_NUM 3

Стивестронг
Пт, 08 декабря 2017 г., 21:40
Снова:
Прикрепите Interntrupt () потребности в качестве первого параметра

Укажите PIN -код в формате PXY (Ex. PA3, PB8 и т. Д.)

Каликс
Пт, 08 декабря 2017 г., 21:42
Как вы думаете, это сработает (вместо того, чтобы изменить .Файл CPP):
#define RF69_IRQ_PIN 0 #define RF69_IRQ_NUM PA3 ?

Стивестронг
Пт, 08 декабря 2017 г., 21:44
Заменить в строка 150 attachInterrupt(_interruptNum, RFM69STM32::isr0, RISING);

Каликс
Пт, 08 декабря 2017 г., 21:45
Тестирование прямо сейчас!

PS: составлено, но это не работает. Кроме того, я больше не могу читать температуру с:
if (input == 't') { byte temperature = radio.readTemperature(-1); // -1 = user cal factor, adjust for correct ambient byte fTemp = 1.8 * temperature + 32; // 9/5=1.8 Serial.print( "Radio Temp is "); Serial.print(temperature); Serial.print("C, "); Serial.print(fTemp); //converting to F loses some resolution, obvious when C is on edge between 2 values (ie 26C=78F, 27C=80F) Serial.println('F'); }

Каликс
Ср 13 декабря 2017 г., 19:16
Я попробовал еще раз с:
#define IRQPIN PA3 RFM69STM32 radio(CSPIN, IRQPIN, true, 3);

Стивестронг
Ср 13 декабря 2017 г., 19:34
[Каликс - Пт, 08 декабря 2017 г., 21:36] - Библиотека, на которую вы указали, я использую ее с Moteino и RFM69HW, и она работает безупречно.
Я думаю, что вы должны использовать ту же библиотеку, которая работает.
Пожалуйста, также опубликуйте простой тестовый эскиз, чтобы воспроизвести проблему.

Кстати, какое ядро ​​вы используете? Arduino_stm32 или STM32Duino Core?

Каликс
Ср 13 декабря 2017 г., 19:36
Привет, Стив,

Я использую оригинальную библиотеку с Moteino (клон Arduino).

Эскиз, который я использую с помощью STM32F401RE, заключается в следующем: https: // github.com/brainelectronics/rfm ... -STM32.Ино

Я только пытался подключить IRQ к PA3 или PA10 для тестирования (очевидно, соответственно изменение настроек)

Стивестронг
Ср 13 декабря 2017 г., 19:38
Который оригинал библиотека?

Каликс
Ср 13 декабря 2017 г., 19:43
На данный момент я пытаюсь заставить эту библиотеку работать с платой STM32F401RE: https: // github.com/brainelectronics/rfm69-stm32

Первоначальная библиотека Lowpower Lab, которую я использую только с Arduino Compatible Poard, и она работает только на Arduino, как это (как есть (https: // github.com/lowpowerlab/rfm69)

Стивестронг
Ср 13 декабря 2017 г. 9:02 вечера
Спросите еще раз: что основной Вы используете? Arduino_stm32 или STM32duino?

fpistm
Ср 13 декабря 2017 г. 9:09 вечера
[Каликс - Солнце 03 декабря 2017 г., 19:55] - Я только что обновил ядер STM32 до последней доступной версии: 24.11.2017 (Arduino IDE V1.6.9) Но я получаю эту ошибку при составлении:
Я предполагаю, что вы используете ядро ​​STM и используете Nucleo F401. PA3 используется для последовательного RX (через Stlink), поэтому не используйте его для прикрепления прерывания.

По умолчанию ваш пример (ino) Установите Irqnum на 3. Даже если это неправильное имя, так как оно должно быть irqpin для Attachintrupt (как сказал Стив уже несколько раз).
https: // github.com/brainelectronics/rfm ... 32.Ино#163

Так что прикрепите прерывание D3. Для Nucleo F401 это PB3, // D3
Таким образом, irq_pin в эскизе должен быть установлен на PB3 вместо PA3.
https: // github.com/brainelectronics/rfm ... 32.INO#229

Я думаю, у тебя есть смещение с булавкой.

Каликс
Ср 13 декабря 2017 г., 21:53
Да, я только что проверил, и я подтвердил, что в «Менеджере досок» (Arduino IDE) у меня установлены ядра STM32 от ST-Microelectronics ».

Я постараюсь подключить штифт IRQ к PB3

СПАСИБО!

PS: изменено, как это следует
#define IRQPIN PB3 RFM69STM32 radio(CSPIN, IRQPIN, true, 3); (true is needed for RFM69HW module) attachInterrupt(_interruptPin, RFM69STM32::isr0, RISING);

Каликс
Сб 23 декабря 2017 г. 11:26
Другие предложения?

STM32F4 Загрузить вопросы

Первые шаги с STM32F429 Discovery