петрональ
Пн 22 августа 2016 12:32
Привет,
Я новичок на этом форуме и совершенно новичок в Arduino.
Я принес STM32F103C8T6 («синяя таблетка» с желтыми заголовками/булавками).
Подключив его к USB, он содержит светодиод, но USB не распознается. В Windows 8 я получаю желтую отметку на диспетчере устройств с ошибкой:
Я новичок на этом форуме и совершенно новичок в Arduino.
Я принес STM32F103C8T6 («синяя таблетка» с желтыми заголовками/булавками).
Подключив его к USB, он содержит светодиод, но USB не распознается. В Windows 8 я получаю желтую отметку на диспетчере устройств с ошибкой:
Windows has stopped this device because it has reported problems. (Code 43)
A request for the USB device descriptor failed.
петрональ
Пн 22 августа 2016 г. 15:37
На Любунту я получаю это от DMESG:
[22329.016155] usb 6-2: new full-speed USB device number 2 using uhci_hcd
[22329.136129] usb 6-2: device descriptor read/64, error -71
[22329.360163] usb 6-2: device descriptor read/64, error -71
[22329.780160] usb 6-2: new full-speed USB device number 3 using uhci_hcd
[22329.900143] usb 6-2: device descriptor read/64, error -71
[22330.124160] usb 6-2: device descriptor read/64, error -71
[22330.340124] usb 6-2: new full-speed USB device number 4 using uhci_hcd
[22330.752130] usb 6-2: device not accepting address 4, error -71
[22330.864152] usb 6-2: new full-speed USB device number 5 using uhci_hcd
[22331.280162] usb 6-2: device not accepting address 5, error -71
[22331.280259] hub 6-0:1.0: unable to enumerate USB device on port 2
Эдогальдо
Пн 22 августа 2016 г. 16:41
Привет @petronel, чтобы использовать USB с устройствами F103, среди драйверов USB, вам нужна установленная соответствующая прошивка.
Основной вариант - установить загрузчик STM32Duino; Для синих таблеток, я думаю, вы должны использовать этот файл: https: // github.com/rogerclarkmelbourne/ ... 0_PC13.бин
Вы можете установить его либо через ST-Link, либо через USBTOSERIAL ADAPTER.
После установки загрузчика, компьютер должен быть в состоянии распознать вашу синюю таблетку в качестве устройства DFU, а затем вы можете загрузить свои наброски.
После загрузки эскиз, ваш компьютер сможет также распознать вашу синюю таблетку в качестве устройства Com.
Поиск на форуме для получения дополнительной информации.
Лучший, e.
Основной вариант - установить загрузчик STM32Duino; Для синих таблеток, я думаю, вы должны использовать этот файл: https: // github.com/rogerclarkmelbourne/ ... 0_PC13.бин
Вы можете установить его либо через ST-Link, либо через USBTOSERIAL ADAPTER.
После установки загрузчика, компьютер должен быть в состоянии распознать вашу синюю таблетку в качестве устройства DFU, а затем вы можете загрузить свои наброски.
После загрузки эскиз, ваш компьютер сможет также распознать вашу синюю таблетку в качестве устройства Com.
Поиск на форуме для получения дополнительной информации.
Лучший, e.
Fredbox
Пн 22 августа 2016 г., 19:02
Общие доски, как полученные.
Вам нужно будет подключить USB-адаптер и прошить загрузчику, используя утилиту демонстратора STM32 до того, как серийный порт перечисляется. Тогда вы можете загрузить с помощью IDE.
Вам нужно будет подключить USB-адаптер и прошить загрузчику, используя утилиту демонстратора STM32 до того, как серийный порт перечисляется. Тогда вы можете загрузить с помощью IDE.
Testato
Вторник 30 августа 2016 г., 21:23
Вы также можете использовать STM32Flasher только для удаления защиты вспышки, а после использования стандартного метода для загрузки DFU_BOUTLOADER
петрональ
Ср. 09 ноября 2016 г., 19:29
Я получил USB для серийного CH340.
Использование STM32Flash Я могу написать generic_boot20_pc13.бин
Использование STM32Flash Я могу написать generic_boot20_pc13.бин
C:\Users\Petronel\Downloads\stm32flash-0.5-win64>stm32flash.exe -w ..\generic_boot20_pc13.bin COM9
stm32flash 0.5
http://stm32flash.sourceforge.net/
Using Parser : Raw BINARY
Interface serial_w32: 57600 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (STM32F10xxx Medium-density)
- RAM : 20KiB (512b reserved by bootloader)
- Flash : 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
Write to memory
Erasing memory
Wrote address 0x08010000 (100.00%) Done.
петрональ
Ср. 09 ноября 2016 г., 19:30
Загрузка эскиза с помощью USB-Serial Получите этот результат:
stm32flash 0.4
http://stm32flash.googlecode.com/
Using Parser : Raw BINARY
Interface serial_w32: 230400 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (Medium-density)
- RAM : 20KiB (512b reserved by bootloader)
- Flash : 128KiB (sector size: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
Write to memory
Erasing memory
Wrote address 0x08000100 (3.40%)
Wrote address 0x08000200 (6.80%)
Wrote address 0x08000300 (10.20%)
Wrote address 0x08000400 (13.60%)
Wrote address 0x08000500 (16.99%)
Wrote address 0x08000600 (20.39%)
Wrote address 0x08000700 (23.79%)
Wrote address 0x08000800 (27.19%)
Wrote address 0x08000900 (30.59%)
Wrote address 0x08000a00 (33.99%)
Wrote address 0x08000b00 (37.39%)
Wrote address 0x08000c00 (40.79%)
Wrote address 0x08000d00 (44.18%)
Wrote address 0x08000e00 (47.58%)
Wrote address 0x08000f00 (50.98%)
Wrote address 0x08001000 (54.38%)
Wrote address 0x08001100 (57.78%)
Wrote address 0x08001200 (61.18%)
Wrote address 0x08001300 (64.58%)
Wrote address 0x08001400 (67.98%)
Wrote address 0x08001500 (71.38%)
Wrote address 0x08001600 (74.77%)
Wrote address 0x08001700 (78.17%)
Wrote address 0x08001800 (81.57%)
Wrote address 0x08001900 (84.97%)
Wrote address 0x08001a00 (88.37%)
Wrote address 0x08001b00 (91.77%)
Wrote address 0x08001c00 (95.17%)
Wrote address 0x08001d00 (98.57%)
Wrote address 0x08001d6c (100.00%) Done.
Starting execution at address 0x08000000... done.
Rogerclark
Ср. 09 ноября 2016 г., 19:47
Светодиодная вспышка?
Вы увидите только устройство Libusb . Не последовательное устройство после того, как загрузчик сначала работает, серийный USB -код находится в эскизе, загрузчик только содержит устройство DFU.
Вам также нужно загрузить драйверы Windows (при условии, что вы запускаете Windows) . Пожалуйста, прочитайте FAQ в разделе «Приемом / часто задаваемые вопросы»
Вы увидите только устройство Libusb . Не последовательное устройство после того, как загрузчик сначала работает, серийный USB -код находится в эскизе, загрузчик только содержит устройство DFU.
Вам также нужно загрузить драйверы Windows (при условии, что вы запускаете Windows) . Пожалуйста, прочитайте FAQ в разделе «Приемом / часто задаваемые вопросы»
Стивестронг
Ср. 09 ноября 2016 г., 19:53
@petronel,
Я думаю, ты сказал, что светодиод не мигает.
Для этого, пожалуйста, проверьте, какой PIN -код назначен светодиод в вашем эскизе. Светодиодный штифт должен быть определен как:
#define LED_PIN PC13
Пожалуйста, используйте нотацию «PC13», а не только числа (13).
Пока вы получаете «Hello World» на своем серийном мониторе, это означает, что серийное общение работает.
Я думаю, ты сказал, что светодиод не мигает.
Для этого, пожалуйста, проверьте, какой PIN -код назначен светодиод в вашем эскизе. Светодиодный штифт должен быть определен как:
#define LED_PIN PC13
Пожалуйста, используйте нотацию «PC13», а не только числа (13).
Пока вы получаете «Hello World» на своем серийном мониторе, это означает, что серийное общение работает.
Rogerclark
Ср. 09 ноября 2016 г., 20:03
Хорошо.
Многие люди думают, что загрузчик не работает, потому что у них нет последовательного USB -устройства после его первой установки.
Я должен объединить эскиз «мигание и счет» с загрузчиком, тогда все будут менее запутанными.
Возможно, у OP есть аппаратная ошибка на USB. Поскольку синие таблетки часто имеют разбитые соединения с контактами с данными USB.
У меня есть 2 синие таблетки, но сейчас ни работа, так как USB -соединения сломались, и его трудно ремонтировать без подключения внешнего USB
Многие люди думают, что загрузчик не работает, потому что у них нет последовательного USB -устройства после его первой установки.
Я должен объединить эскиз «мигание и счет» с загрузчиком, тогда все будут менее запутанными.
Возможно, у OP есть аппаратная ошибка на USB. Поскольку синие таблетки часто имеют разбитые соединения с контактами с данными USB.
У меня есть 2 синие таблетки, но сейчас ни работа, так как USB -соединения сломались, и его трудно ремонтировать без подключения внешнего USB
петрональ
Ср. 09 ноября 2016 г., 8:26 вечера
#define pinLED PC13
void setup() {
Serial.begin(9600);
Serial.println("start");
}
void loop() {
digitalWrite(pinLED, HIGH);
delay(500);
digitalWrite(pinLED, LOW);
Serial.println("Hello World2");
delay(100);
}
Стивестронг
Ср. 09 ноября 2016 г., 8:35 вечера
Конечно, это не мигает, потому что вы забыли установить режим PIN.
Вставьте в настройку () следующую строку:
Вставьте в настройку () следующую строку:
pinMode(pinLED, OUTPUT);
петрональ
Ср. 09 ноября 2016 г., 20:43
забыл об этом. СПАСИБО !!!
Теперь я заметил, что макрос F не работает
Теперь я заметил, что макрос F не работает
Serial.println(F("test"));
Rogerclark
Ср. 09 ноября 2016 г., 21:01
Ммм
Я не уверен, почему F -макрос больше не работает.
Но я согласен, что теперь это рухнет, если я попытаюсь его использовать
На самом деле, макрос F вообще не нужен для Arm Dev и должен быть удален везде, где это возможно
Похоже, F определяется в WSTRING.час
Я не уверен, почему F -макрос больше не работает.
Но я согласен, что теперь это рухнет, если я попытаюсь его использовать
На самом деле, макрос F вообще не нужен для Arm Dev и должен быть удален везде, где это возможно
Похоже, F определяется в WSTRING.час
#define F(string_literal) (reinterpret_cast(PSTR(string_literal)))
петрональ
Ср. 09 ноября 2016 г., 21:19
Удаление всего F () из этой библиотеки RFID может быть болью.
#define F(x) x
Стивестронг
Ср. 09 ноября 2016 г., 21:39
И где вы устанавливаете фиш?
SPI.beginTransaction(CHIP_SEL, SPISettings(SPI_CLOCK_DIV4, MSBFIRST, SPI_MODE0));
петрональ
Ср. 09 ноября 2016 г., 22:09
В моем эскизе у меня есть
#define RST_PIN PA0 // Configurable, see typical pin layout above
#define SS_PIN PA1 // Configurable, see typical pin layout above
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
петрональ
Ср. 09 ноября 2016 г., 22:57
У меня только что "доми!!"Момент.
Нашел мою проблему с загрузчиком:
Я использовал демонстратор Flash Loader, и вместо «загрузки на устройство» я использовал «Загрузка с устройства», вероятно, не читал в / из.
Итак, я перезаписываю genic_boot_pc13.корзин с тем, который был на устройстве
Теперь я вижу DFU, я загружаю свой эскиз, и после его сброса я получаю сериал Maple.
Нашел мою проблему с загрузчиком:
Я использовал демонстратор Flash Loader, и вместо «загрузки на устройство» я использовал «Загрузка с устройства», вероятно, не читал в / из.
Итак, я перезаписываю genic_boot_pc13.корзин с тем, который был на устройстве
Теперь я вижу DFU, я загружаю свой эскиз, и после его сброса я получаю сериал Maple.
Rogerclark
Ср. 09 ноября 2016 г., 11:32
Я согласен. Используемая терминология сбивает с толку.
петрональ
Ср. 09 ноября 2016 г., 11:52
Наверное я ожидал скачивания от и загрузить к .. Это имеет больше смысла для меня.
Сейчас у меня есть еще 2 вопроса:
1. После загрузки эскиза и сброса STM32, серийное соединение падает на секунду, и я должен закрыть/открыть серийный монитор. Это нормально ?
2. Загрузка эскиза, который компилируется в OK, но сбой при запуске (например, мой тест с RFID), заставьте DFU / COM исчезнуть и получить снова «неизвестное устройство». Я все еще могу сбросить STM32 и загрузить рабочий набросок.
Сейчас у меня есть еще 2 вопроса:
1. После загрузки эскиза и сброса STM32, серийное соединение падает на секунду, и я должен закрыть/открыть серийный монитор. Это нормально ?
2. Загрузка эскиза, который компилируется в OK, но сбой при запуске (например, мой тест с RFID), заставьте DFU / COM исчезнуть и получить снова «неизвестное устройство». Я все еще могу сбросить STM32 и загрузить рабочий набросок.
Rogerclark
Чт 10 ноября 2016 г. 12:06
Петронель написал:Наверное я ожидал скачивания от и загрузить к .. Это имеет больше смысла для меня.
Сейчас у меня есть еще 2 вопроса:
1. После загрузки эскиза и сброса STM32, серийное соединение падает на секунду, и я должен закрыть/открыть серийный монитор. Это нормально ?
2. Загрузка эскиза, который компилируется в OK, но сбой при запуске (например, мой тест с RFID), заставьте DFU / COM исчезнуть и получить снова «неизвестное устройство». Я все еще могу сбросить STM32 и загрузить рабочий набросок.
Сейчас у меня есть еще 2 вопроса:
1. После загрузки эскиза и сброса STM32, серийное соединение падает на секунду, и я должен закрыть/открыть серийный монитор. Это нормально ?
2. Загрузка эскиза, который компилируется в OK, но сбой при запуске (например, мой тест с RFID), заставьте DFU / COM исчезнуть и получить снова «неизвестное устройство». Я все еще могу сбросить STM32 и загрузить рабочий набросок.
петрональ
Чт 10 ноября 2016 г., 12:31
Есть ли способ выяснить, что разбивает мой эскиз ?
Попытка использовать RFID RC522 с моим STM32F103.
Попытка использовать RFID RC522 с моим STM32F103.
Rogerclark
Чт 10 ноября 2016 г. 12:49
Если у вас есть аппаратное обеспечение от Debugger Debugger SWD, вы можете получить GDB, чтобы рассказать вам, где оно разбито, иначе вам нужно просто добавить код в строке по очереди и продолжать пробовать вещи, и посмотреть, какая вы добавляете или какую функцию вы называете это Заставляет это разбиться.
петрональ
Чт 10 ноября 2016 г., 6:41
У меня нет отладчика SWD. Может я должен получить один. Любые рекомендации?
Rogerclark
Чт 10 ноября 2016 г. 8:35 утра
Вы можете сделать одну из другой синей таблетки, прошивая к нему с Blackmagic Desrod (см. Блэкмагическую нить зонда)
Вы также можете получить клоны Stlink действительно дешево, но я думаю, что вам нужно использовать OpenOcd, чтобы использовать их
В любом случае, использование GDB из командной строки требует немного, чтобы привыкнуть к.
В противном случае вам нужно использовать плагин Eclipse + The Arduino, чтобы получить хороший пользовательский интерфейс для отладки.
Наверное, проще просто прокомментировать код и использовать серийный.Печать, чтобы решить, что идет не так
Вы также можете получить клоны Stlink действительно дешево, но я думаю, что вам нужно использовать OpenOcd, чтобы использовать их
В любом случае, использование GDB из командной строки требует немного, чтобы привыкнуть к.
В противном случае вам нужно использовать плагин Eclipse + The Arduino, чтобы получить хороший пользовательский интерфейс для отладки.
Наверное, проще просто прокомментировать код и использовать серийный.Печать, чтобы решить, что идет не так
Racemaniac
Чт 10 ноября 2016 г., 9:19
Rogerclark написал:Вы можете сделать одну из другой синей таблетки, прошивая к нему с Blackmagic Desrod (см. Блэкмагическую нить зонда)
Вы также можете получить клоны Stlink действительно дешево, но я думаю, что вам нужно использовать OpenOcd, чтобы использовать их
В любом случае, использование GDB из командной строки требует немного, чтобы привыкнуть к.
В противном случае вам нужно использовать плагин Eclipse + The Arduino, чтобы получить хороший пользовательский интерфейс для отладки.
Наверное, проще просто прокомментировать код и использовать серийный.Печать, чтобы решить, что идет не так
Вы также можете получить клоны Stlink действительно дешево, но я думаю, что вам нужно использовать OpenOcd, чтобы использовать их
В любом случае, использование GDB из командной строки требует немного, чтобы привыкнуть к.
В противном случае вам нужно использовать плагин Eclipse + The Arduino, чтобы получить хороший пользовательский интерфейс для отладки.
Наверное, проще просто прокомментировать код и использовать серийный.Печать, чтобы решить, что идет не так
петрональ
Чт 10 ноября 2016 г., 9:40
Rogerclark написал:
Наверное, проще просто прокомментировать код и использовать серийный.Печать, чтобы решить, что идет не так
Rogerclark
Чт 10 ноября 2016 г., 9:45
@racemaniac
Я думаю, что Master Blackmagic Repo теперь имеет хорошую поддержку для NRF51, но я думаю, что когда Рик взял свою оригинальную вилку BMP, поддержка NRF51 была минимальной
Хотя у меня все еще есть моя модифицированная вилка BMP на основе Ricks Fork + мои изменения для NRF51, я сейчас пытаюсь перейти обратно в официальное мастер -репо от Blacksphere, поскольку его множество коммитов и исправления ошибок впереди моей вилки (а также также впереди Рикс Форк)
Проблема в том, что я не могу просто слиться из Мастера кузнечика, так как структура API кода «платформы» изменилась.
Поэтому мой долгосрочный план - переделать версию Рика для BluePill и отправить пиар, чтобы добавить его в Master Repo Blacksphere
Тем не менее, я был слишком занят в последнее время с официальным ядром STM32, а также с некоторой неотложной коммерческой работой, с которой я должен был справиться с.
Мы могли бы добавить страницу вики для текущего состояния игры, в основном ссылаясь на репо Рик для использования на STM32, мы всегда можем обновить ее, когда я наконец-то приступил к повторному образованию версии платформы Bluepill и т. Д
Я думаю, что Master Blackmagic Repo теперь имеет хорошую поддержку для NRF51, но я думаю, что когда Рик взял свою оригинальную вилку BMP, поддержка NRF51 была минимальной
Хотя у меня все еще есть моя модифицированная вилка BMP на основе Ricks Fork + мои изменения для NRF51, я сейчас пытаюсь перейти обратно в официальное мастер -репо от Blacksphere, поскольку его множество коммитов и исправления ошибок впереди моей вилки (а также также впереди Рикс Форк)
Проблема в том, что я не могу просто слиться из Мастера кузнечика, так как структура API кода «платформы» изменилась.
Поэтому мой долгосрочный план - переделать версию Рика для BluePill и отправить пиар, чтобы добавить его в Master Repo Blacksphere
Тем не менее, я был слишком занят в последнее время с официальным ядром STM32, а также с некоторой неотложной коммерческой работой, с которой я должен был справиться с.
Мы могли бы добавить страницу вики для текущего состояния игры, в основном ссылаясь на репо Рик для использования на STM32, мы всегда можем обновить ее, когда я наконец-то приступил к повторному образованию версии платформы Bluepill и т. Д
Rogerclark
Чт 10 ноября 2016 г., 9:49
Петронель написал:Rogerclark написал:
Наверное, проще просто прокомментировать код и использовать серийный.Печать, чтобы решить, что идет не так
Стивестронг
Чт 10 ноября 2016 г. 13:19
@petronel,
Где SPI.begintransaction () называется? В пределах MFRC522 :: PCD_INIT ()? Я не вижу, где. Или вы называете это отдельно?
Вы установили соответствующий режим для всех используемых булавок?
Где SPI.begintransaction () называется? В пределах MFRC522 :: PCD_INIT ()? Я не вижу, где. Или вы называете это отдельно?
Вы установили соответствующий режим для всех используемых булавок?