DMD
Пт 26 мая 2017 г. 11:36
Всем привет.
Я использую синюю таблетку.
Я настроил базовый пример RFID с использованием MFRC522. Тест с Arduino Uno, и это сработало. Я проверил это с синей таблеткой STM32, и это тоже сработало.
Когда я добавил другие компоненты (отображение 7 сегментов, зуммер, светодиоды, переключатели ... и увеличил код), он перестал работать.
Я разобрался и начал с других компонентов, проверяя все и пишу код по мере необходимости.
Когда я добавляю модуль RFID RC522, STM32 разрушается. Это даже не инициализируется. (Я положил светодиод, который показывает, когда он начинается).
Я попытался обновить библиотеку RFID. Я скачал его с того же репозитория и ухудшил. Допустил ошибки, сказав, что было необходимо иметь C ++ 11.
Я попытался вернуться в старую библиотеку, и теперь я получаю много предупреждений.
Я использую плагин (vmicro) для Visual Studio и Arduino IDE 1.8.2.
(Я попытался скомпилировать с помощью двух, проблемы одинаковы).
Может кто -нибудь мне помочь?
Я использую синюю таблетку.
Я настроил базовый пример RFID с использованием MFRC522. Тест с Arduino Uno, и это сработало. Я проверил это с синей таблеткой STM32, и это тоже сработало.
Когда я добавил другие компоненты (отображение 7 сегментов, зуммер, светодиоды, переключатели ... и увеличил код), он перестал работать.
Я разобрался и начал с других компонентов, проверяя все и пишу код по мере необходимости.
Когда я добавляю модуль RFID RC522, STM32 разрушается. Это даже не инициализируется. (Я положил светодиод, который показывает, когда он начинается).
Я попытался обновить библиотеку RFID. Я скачал его с того же репозитория и ухудшил. Допустил ошибки, сказав, что было необходимо иметь C ++ 11.
Я попытался вернуться в старую библиотеку, и теперь я получаю много предупреждений.
Я использую плагин (vmicro) для Visual Studio и Arduino IDE 1.8.2.
(Я попытался скомпилировать с помощью двух, проблемы одинаковы).
Может кто -нибудь мне помочь?
Rogerclark
Пт 26 мая 2017 г., 23:42
Вчера в Master Repo был добавлен GNU ++ 11 11
DMD
Солнце 28 мая 2017 г. 9:07 вечера
Rogerclark написал:Вчера в Master Repo был добавлен GNU ++ 11 11
Rogerclark
Солнце 28 мая 2017 г., 21:27
Не все библиотеки совместимы с оборудованием STM32 или ядром Libmaple.
Похоже, вам может понадобиться внести изменения в библиотеку.
КСТАТИ. Работает ли библиотека на досках Arduino Arm, таких как Due и Zero ?
Похоже, вам может понадобиться внести изменения в библиотеку.
КСТАТИ. Работает ли библиотека на досках Arduino Arm, таких как Due и Zero ?
DMD
Солнце 28 мая 2017 г. 9:41 вечера
Rogerclark написал:Не все библиотеки совместимы с оборудованием STM32 или ядром Libmaple.
Похоже, вам может понадобиться внести изменения в библиотеку.
КСТАТИ. Работает ли библиотека на досках Arduino Arm, таких как Due и Zero ?
Похоже, вам может понадобиться внести изменения в библиотеку.
КСТАТИ. Работает ли библиотека на досках Arduino Arm, таких как Due и Zero ?
Rogerclark
Солнце 28 мая 2017 г. 22:08
Вы можете увидеть, компилируется ли он для должного или нуля, так как в настоящее время он не компилируется на STM32.
Re: Работа 2 года назад.
Почему бы просто не загрузить старую версию из GitHub, если она работала для вас, и если вы хотите помочь автору сделать ее совместимым с STM32, то попробуйте несколько новых версий (разные коммиты GitHub) и определить, какое изменение сломало его.
Re: Работа 2 года назад.
Почему бы просто не загрузить старую версию из GitHub, если она работала для вас, и если вы хотите помочь автору сделать ее совместимым с STM32, то попробуйте несколько новых версий (разные коммиты GitHub) и определить, какое изменение сломало его.
Zoomx
Пн 29 мая 2017 г. 9:18 утра
DMD написал:
Когда я добавляю модуль RFID RC522, STM32 разрушается. Это даже не инициализируется. (Я положил светодиод, который показывает, когда он начинается).
DMD
Пн 29 мая 2017 г. 16:12
Rogerclark написал:Вы можете увидеть, компилируется ли он для должного или нуля, так как в настоящее время он не компилируется на STM32.
Re: Работа 2 года назад.
Почему бы просто не загрузить старую версию из GitHub, если она работала для вас, и если вы хотите помочь автору сделать ее совместимым с STM32, то попробуйте несколько новых версий (разные коммиты GitHub) и определить, какое изменение сломало его.
Re: Работа 2 года назад.
Почему бы просто не загрузить старую версию из GitHub, если она работала для вас, и если вы хотите помочь автору сделать ее совместимым с STM32, то попробуйте несколько новых версий (разные коммиты GitHub) и определить, какое изменение сломало его.
DMD
Пн 29 мая 2017 г. 16:14
Zoomx написал:
Может быть, ваш модуль издает много шума, что ваша плата STM32 не любит.
Может быть.
Может быть.
AG123
Пн 29 мая 2017 г. 18:17
Вы используете эту библиотеку?
https: // github.com/miguelbalboa/rfid
https: // github.com/miguelbalboa/rfid
#define SERIAL_ENABLED 1
#define LCD_ENABLED 1
#if LCD_ENABLED
#include
LiquidCrystal lcd(PB15, PB14, PB13, PB12, PB11, PB10);
#endif
volatile int state = LOW;
const int ZCD_Pin = PB1;
int led_Pin = PB0; // PWM-capable pin
void setup() {
pinMode(led_Pin, OUTPUT); // setup the pin as PWM
// turn the LED on (HIGH is the voltage level)
#endif
attachInterrupt(ZCD_Pin, zcd, FALLING);
lcd.setCursor(0, 0);
Timer1.pause();
Timer1.setPrescaleFactor(7200);
Timer1.setOverflow(1000);
Timer1.setChannel1Mode(TIMER_OUTPUT_COMPARE);
Timer1.setCompare(TIMER_CH1, 1);
Timer1.attachCompare1Interrupt(handler_led);
Timer1.refresh();
}
void loop() {
}
void zcd() {
digitalWrite(led_Pin, LOW);
Timer1.resume();
}
void handler_led() {
digitalWrite(led_Pin, HIGH);
Timer1.pause();
Timer1.refresh();
}
DMD
Пн 29 мая 2017 г. 20:28
AG123 написал:Вы используете эту библиотеку?
https: // github.com/miguelbalboa/rfid
https: // github.com/miguelbalboa/rfid
HardwareTimer timer1(1);
AG123
Пн 29 мая 2017 г. 20:55
Предполагая, что Visual Studio использует один и тот же компилятор GCC/G ++, в конце концов, казалось бы, что флаги компиляции могут быть разными E.глин. что есть больше предупреждающих флагов, использующих в Visual Studio (возможно -Wall?) или в этом отношении, если это на самом деле другой компилятор, чем компилятор, дает больше предупреждений или, возможно, запускается с разными флагами.
Предупреждения компиляции не требуют необходимого привести к киоскам, e.глин. Если у вас заканчивается память на синей таблетке, в компиляции могут быть буквально никаких предупреждений или ошибок. Но все же это может сбое, если больше нет памяти.
Кроме того, есть слишком много причин для киоска может быть какой -то жесткой виной? Может ли эскиз застрять в петле, ожидая данных, которые никогда не появятся (это довольно вероятно)? или может ли эскиз запустить инструкцию ожидания, в которой ожидаемые прерывания никогда не появляются? эн.глин. У вас есть несколько кодов, которые проверяют условие, затем запустите WFI (подождите прерывания), и прерывание произошло между чеком и WFI. Поэтому, когда процессор запускает WFI, он просто продолжает спать в ожидании прерывания, которое уже прошло (условия гонки случаются)
Мои обычные способы, которыми я пытаюсь диагностировать, - это *мигает светодиод *, вы могли бы буквально иметь функцию, которая по -разному мигает в зависимости от параметра.
Это дало бы вам намеки на то, где он замерзает. эн.глин. Если светодиод вообще не моргнул, возможно, эскиз просто разбился перед каким -либо заявлением
Помимо этого есть сериал.print (), чтобы попытаться диагностировать проблему, и если это все еще не достигнет нижней части, может потребоваться запуск отладки, тогда
всего 2 цента,
Надеюсь, это поможет
Предупреждения компиляции не требуют необходимого привести к киоскам, e.глин. Если у вас заканчивается память на синей таблетке, в компиляции могут быть буквально никаких предупреждений или ошибок. Но все же это может сбое, если больше нет памяти.
Кроме того, есть слишком много причин для киоска может быть какой -то жесткой виной? Может ли эскиз застрять в петле, ожидая данных, которые никогда не появятся (это довольно вероятно)? или может ли эскиз запустить инструкцию ожидания, в которой ожидаемые прерывания никогда не появляются? эн.глин. У вас есть несколько кодов, которые проверяют условие, затем запустите WFI (подождите прерывания), и прерывание произошло между чеком и WFI. Поэтому, когда процессор запускает WFI, он просто продолжает спать в ожидании прерывания, которое уже прошло (условия гонки случаются)
Мои обычные способы, которыми я пытаюсь диагностировать, - это *мигает светодиод *, вы могли бы буквально иметь функцию, которая по -разному мигает в зависимости от параметра.
Это дало бы вам намеки на то, где он замерзает. эн.глин. Если светодиод вообще не моргнул, возможно, эскиз просто разбился перед каким -либо заявлением
Помимо этого есть сериал.print (), чтобы попытаться диагностировать проблему, и если это все еще не достигнет нижней части, может потребоваться запуск отладки, тогда
всего 2 цента,
Надеюсь, это поможет
DMD
Пн 29 мая 2017 г. 11:46 вечера
AG123 написал:Предполагая, что Visual Studio использует один и тот же компилятор GCC/G ++, в конце концов, казалось бы, что флаги компиляции могут быть разными E.глин. что есть больше предупреждающих флагов, использующих в Visual Studio (возможно -Wall?) или в этом отношении, если это на самом деле другой компилятор, чем компилятор, дает больше предупреждений или, возможно, запускается с разными флагами.
Предупреждения компиляции не требуют необходимого привести к киоскам, e.глин. Если у вас заканчивается память на синей таблетке, в компиляции могут быть буквально никаких предупреждений или ошибок. Но все же это может сбое, если больше нет памяти.
Кроме того, есть слишком много причин для киоска может быть какой -то жесткой виной? Может ли эскиз застрять в петле, ожидая данных, которые никогда не появятся (это довольно вероятно)? или может ли эскиз запустить инструкцию ожидания, в которой ожидаемые прерывания никогда не появляются? эн.глин. У вас есть несколько кодов, которые проверяют условие, затем запустите WFI (подождите прерывания), и прерывание произошло между чеком и WFI. Поэтому, когда процессор запускает WFI, он просто продолжает спать в ожидании прерывания, которое уже прошло (условия гонки случаются)
Мои обычные способы, которыми я пытаюсь диагностировать, - это *мигает светодиод *, вы могли бы буквально иметь функцию, которая по -разному мигает в зависимости от параметра.
Это дало бы вам намеки на то, где он замерзает. эн.глин. Если светодиод вообще не моргнул, возможно, эскиз просто разбился перед каким -либо заявлением
Помимо этого есть сериал.print (), чтобы попытаться диагностировать проблему, и если это все еще не достигнет нижней части, может потребоваться запуск отладки, тогда
всего 2 цента,
Надеюсь, это поможет
Предупреждения компиляции не требуют необходимого привести к киоскам, e.глин. Если у вас заканчивается память на синей таблетке, в компиляции могут быть буквально никаких предупреждений или ошибок. Но все же это может сбое, если больше нет памяти.
Кроме того, есть слишком много причин для киоска может быть какой -то жесткой виной? Может ли эскиз застрять в петле, ожидая данных, которые никогда не появятся (это довольно вероятно)? или может ли эскиз запустить инструкцию ожидания, в которой ожидаемые прерывания никогда не появляются? эн.глин. У вас есть несколько кодов, которые проверяют условие, затем запустите WFI (подождите прерывания), и прерывание произошло между чеком и WFI. Поэтому, когда процессор запускает WFI, он просто продолжает спать в ожидании прерывания, которое уже прошло (условия гонки случаются)
Мои обычные способы, которыми я пытаюсь диагностировать, - это *мигает светодиод *, вы могли бы буквально иметь функцию, которая по -разному мигает в зависимости от параметра.
Это дало бы вам намеки на то, где он замерзает. эн.глин. Если светодиод вообще не моргнул, возможно, эскиз просто разбился перед каким -либо заявлением
Помимо этого есть сериал.print (), чтобы попытаться диагностировать проблему, и если это все еще не достигнет нижней части, может потребоваться запуск отладки, тогда
всего 2 цента,
Надеюсь, это поможет
AG123
Вторник 30 мая 2017 г. 12:06
HardwareTimer Timer1(1);
Rogerclark
Вторник 30 мая 2017 г. 2:06 утра
Похоже, класс SPI может быть правильно инициализирован в Visual Studio
Хотя есть несколько человек, которые используют ядро Libmaple с Visual Studio, ядро (Libmaple) предназначено только для работы с Arduino IDE, а затем только конкретные версии IDE.
Когда я внесу изменение в ядро, я тестирую только с поддерживаемой в настоящее время версией Arduino IDE (в настоящее время 1.8.2) И это то, что большинство остальных сообществ используют в качестве своей IDE.
На данный момент у вас слишком много не коренных.
Я бы порекомендовал вам использовать Arduino IDE, либо вы обратитесь к компании, которая создает плагин Visual Studio и т. Д., И попросите их помочь.
Хотя есть несколько человек, которые используют ядро Libmaple с Visual Studio, ядро (Libmaple) предназначено только для работы с Arduino IDE, а затем только конкретные версии IDE.
Когда я внесу изменение в ядро, я тестирую только с поддерживаемой в настоящее время версией Arduino IDE (в настоящее время 1.8.2) И это то, что большинство остальных сообществ используют в качестве своей IDE.
На данный момент у вас слишком много не коренных.
Я бы порекомендовал вам использовать Arduino IDE, либо вы обратитесь к компании, которая создает плагин Visual Studio и т. Д., И попросите их помочь.
Стивестронг
Вторник 30 мая 2017 г. 8:16 утра
Эти предупреждения не влияют на функциональность SPI.
Что именно означает «авария»? DMD написал:_currentsetting->bitorder = bitorder; //<<<<<<<<<<<<<<<<<<<<< Сбой здесь!!!!!!!!
Что именно означает «авария»? DMD написал:_currentsetting->bitorder = bitorder; //<<<<<<<<<<<<<<<<<<<<< Сбой здесь!!!!!!!!
Zoomx
Вторник 30 мая 2017 г. 13:36
DMD написал:
Можете ли вы привести мне несколько примеров (или лучше объяснить) об этом?
DMD
Вторник 30 мая 2017 г. 16:46
Rogerclark написал:Похоже, класс SPI может быть правильно инициализирован в Visual Studio
Хотя есть несколько человек, которые используют ядро Libmaple с Visual Studio, ядро (Libmaple) предназначено только для работы с Arduino IDE, а затем только конкретные версии IDE.
Когда я внесу изменение в ядро, я тестирую только с поддерживаемой в настоящее время версией Arduino IDE (в настоящее время 1.8.2) И это то, что большинство остальных сообществ используют в качестве своей IDE.
На данный момент у вас слишком много не коренных.
Я бы порекомендовал вам использовать Arduino IDE, либо вы обратитесь к компании, которая создает плагин Visual Studio и т. Д., И попросите их помочь.
Хотя есть несколько человек, которые используют ядро Libmaple с Visual Studio, ядро (Libmaple) предназначено только для работы с Arduino IDE, а затем только конкретные версии IDE.
Когда я внесу изменение в ядро, я тестирую только с поддерживаемой в настоящее время версией Arduino IDE (в настоящее время 1.8.2) И это то, что большинство остальных сообществ используют в качестве своей IDE.
На данный момент у вас слишком много не коренных.
Я бы порекомендовал вам использовать Arduino IDE, либо вы обратитесь к компании, которая создает плагин Visual Studio и т. Д., И попросите их помочь.
DMD
Вторник 30 мая 2017 г. 16:53
Стивестронг написал:Эти предупреждения не влияют на функциональность SPI.
Что именно означает «авария»? DMD написал:_currentsetting->bitorder = bitorder; //<<<<<<<<<<<<<<<<<<<<< Сбой здесь!!!!!!!!
Что именно означает «авария»? DMD написал:_currentsetting->bitorder = bitorder; //<<<<<<<<<<<<<<<<<<<<< Сбой здесь!!!!!!!!
DMD
Вторник 30 мая 2017 г., 17:06
Zoomx написал:DMD написал:
Можете ли вы привести мне несколько примеров (или лучше объяснить) об этом?
DMD
Вторник 30 мая 2017 г., 17:13
AG123 написал:
// ZERO CROSSING DETECTOR AND TIMER EXAMPLE
HardwareTimer myTimer(1); // We use the TIMER1
const int ZCD_Pin = PB1; // Input from Zero Crossing Detector's output
int led_Pin = PB0; // LED driven by zcd() and handler_led()
void zcd() {
digitalWrite(led_Pin, LOW);
myTimer.resume();
}
void handler_led() {
digitalWrite(led_Pin, HIGH);
myTimer.refresh();
}
void setup() {
pinMode(led_Pin, OUTPUT); // setup the pin as output
pinMode(ZCD_Pin, INPUT); // ZCD signal input
attachInterrupt(ZCD_Pin, zcd, FALLING);
myTimer.pause();
myTimer.setPeriod(5 * 1000);
myTimer.setChannel1Mode(TIMER_OUTPUT_COMPARE);
myTimer.setCompare(TIMER_CH1, 1);
myTimer.attachCompare1Interrupt(handler_led);
myTimer.refresh();
myTimer.resume();
}
void loop() {
}
Стивестронг
Вторник 30 мая 2017 г., 17:27
Нет. AMAP предназначен для открытия файлов карт (поиск на форуме, как генерировать файлы карты).
Я сдаюсь, потому что действительно кажется, что ваша проблема связана с использованным плагином (Vmicro) для Visual Studio, и я не могу вам там помочь.
Я сдаюсь, потому что действительно кажется, что ваша проблема связана с использованным плагином (Vmicro) для Visual Studio, и я не могу вам там помочь.
DMD
Вторник 30 мая 2017 г. 18:01
Стивестронг написал:Нет. AMAP предназначен для открытия файлов карт (поиск на форуме, как генерировать файлы карты).
Я сдаюсь, потому что действительно кажется, что ваша проблема связана с использованным плагином (Vmicro) для Visual Studio, и я не могу вам там помочь.
Я сдаюсь, потому что действительно кажется, что ваша проблема связана с использованным плагином (Vmicro) для Visual Studio, и я не могу вам там помочь.
DMD
Вторник 30 мая 2017 г. 18:45
AG123 написал:
void handler_led() {
digitalWrite(led_Pin, HIGH);
//myTimer.refresh();
}
Стивестронг
Вторник 30 мая 2017 г. 20:59
Под Arduino Ide я мог бы проверить и отлаживать ваш код, если вы поделитесь им.
DMD
Вторник 30 мая 2017 г. 11:58
Стивестронг написал:Под Arduino Ide я мог бы проверить и отлаживать ваш код, если вы поделитесь им.
DMD
Ср 31 мая 2017 г. 12:07
Как я уже сказал, старая библиотека работала.
В соответствии с датой кода, который я создал, скорее всего, это версия 1.1.8 Доступно здесь.
Https: // github.com/miguelbalboa/rfid/re ... fter = 1.1.9
Может, другие тоже работают.
Мне нужно проверить.
Я искал причину, по которой один сработал, а другой - нет, но я не мог найти.
В соответствии с датой кода, который я создал, скорее всего, это версия 1.1.8 Доступно здесь.
Https: // github.com/miguelbalboa/rfid/re ... fter = 1.1.9
Может, другие тоже работают.
Мне нужно проверить.
Я искал причину, по которой один сработал, а другой - нет, но я не мог найти.
Стивестронг
Ср 31 мая 2017 г. 8:36 утра
Пожалуйста, поделитесь все Ваш код (включая библиотеку, не работающую), в противном случае я не могу вам помочь.
Самый простой способ - прикрепить zip -файл к вашему сообщению, включая полный пакет.
Самый простой способ - прикрепить zip -файл к вашему сообщению, включая полный пакет.
Zoomx
Ср 31 мая 2017 г. 10:32
Кажется, что вы принимаете неправильную булавку на STM32, а иногда на мега есть шум, как я вижу на среднем изображении.
Но отсюда очень сложно увидеть
Но отсюда очень сложно увидеть
AG123
Ср 31 мая 2017 г. 12:40
Существует поговорка, что Бог помогает тем, кто помогает себе, это довольно уместно, на самом деле мало замены, будучи первым, ближе всего к проблеме. Причина в том, что кто -то другой использует другую среду, составляющую один и тот же код, он может просто работать для него/ее, но в силу удачи/судьбы и т. Д., Возможно, у вас есть особая комбинация, которая не работает.
Остальные из нас могут дать только советы/подсказки о том, что мы думаем, основываясь на нашем собственном ограниченном опыте, что может облегчить вашу ситуацию, но в конце концов у нас тоже не будет ответов
Остальные из нас могут дать только советы/подсказки о том, что мы думаем, основываясь на нашем собственном ограниченном опыте, что может облегчить вашу ситуацию, но в конце концов у нас тоже не будет ответов
DMD
Чт, 01 июня 2017 г. 14:53
Стивестронг написал:Пожалуйста, поделитесь все Ваш код (включая библиотеку, не работающую), в противном случае я не могу вам помочь.
Самый простой способ - прикрепить zip -файл к вашему сообщению, включая полный пакет.
Самый простой способ - прикрепить zip -файл к вашему сообщению, включая полный пакет.
DMD
Чт, 01 июня 2017 г. 14:57
Zoomx написал:Кажется, что вы принимаете неправильную булавку на STM32, а иногда на мега есть шум, как я вижу на среднем изображении.
Но отсюда очень сложно увидеть
Но отсюда очень сложно увидеть
DMD
Чт, 01 июня 2017 г. 15:21
AG123 написал:Существует поговорка, что Бог помогает тем, кто помогает себе, это довольно уместно, на самом деле мало замены, будучи первым, ближе всего к проблеме. Причина в том, что кто -то другой использует другую среду, составляющую один и тот же код, он может просто работать для него/ее, но в силу удачи/судьбы и т. Д., Возможно, у вас есть особая комбинация, которая не работает.
Остальные из нас могут дать только советы/подсказки о том, что мы думаем, основываясь на нашем собственном ограниченном опыте, что может облегчить вашу ситуацию, но в конце концов у нас тоже не будет ответов
Остальные из нас могут дать только советы/подсказки о том, что мы думаем, основываясь на нашем собственном ограниченном опыте, что может облегчить вашу ситуацию, но в конце концов у нас тоже не будет ответов
AG123
Чт, 01 июня 2017 г. 16:49
Дополнительный намек, вполне вероятно.
Если отладка нет, сделайте
Если отладка нет, сделайте
void zcd() {
digitalWrite(led_Pin, LOW);
myTimer.refresh(); // here we reset count to 0 (?)
myTimer.resume(); // here we starting the counting from zero
}
void handler_led() {
digitalWrite(led_Pin, HIGH);
myTimer.pause(); // here we finished at 5000 so we can pause
}
ZMEMW16
Чт, 01 июня 2017 г., 17:41
https: // www.Ардуино.cc/en/serial/print
void zcd() {
digitalWrite(led_Pin, LOW);
myTimer.refresh(); // here we reset count to 0 (?)
myTimer.resume(); // here we starting the counting
}
void handler_led() {
digitalWrite(led_Pin, HIGH);
myTimer.pause(); // here we finished at 5000 so we can pause
}