Печать и вопрос о загрузке

Мамама1
Пт 13 января 2017 г., 19:58
Привет

Я новичок в STM32 и STM32DUINO и пытался перенести один из моих проектов с ATMEGA2560 на доску STM32F103ZET.
У меня есть это от Aliexpress:
https: // www.aliexpress.com/item/new-arr ... 0.0.qfqfrr

До сих пор мне удалось пропустить загрузчик STM32Duino и загрузить пример Blink, это то, на что мы можем опираться, я думаю.
На доске есть один из фальшивых последовательных ICS PL2303.

Мои реальные вопросы сейчас:
1) В моем проекте я использую printf_p для чтения строк из Progmem и написать их в сериал. Я перенаправил Printf на UART, используя FDEVOPEN (&my_putc, 0); которая является функцией AVR и не доступна на ядро ​​STM32.

Теперь есть функция Printf, но она ничего не выводит на последовательном мониторе и Visual Studio (я использую ее с помощью визуального плагина Micro Arduino) даже говорит, что printf не принимает никаких аргументов.

Есть ли способ использовать printf и/или printf_p на stm32duino для написания серийного монитора? Я где -то читал, что отладка сделана немного иначе на STM32, чем на Arduino (больше похоже на то, что вы делаете на рисунке), но я бы очень хотел сделать универсальную версию моего проекта (используя IFDEF, чтобы проверить микроконтроллер, который я Компиляция включена) и я бы действительно предпочел не добавлять сериал.Печать для совместимости STM32 для каждого печати в моем программном обеспечении.


2) Когда я загружаю простой пример Blink, все работает, встроенный светодиод STM32 начинает мигать, как и ожидалось, но когда я отключаю USB -кабель и подключаю его обратно (подключен к порту листа, а не порт RS232 PL2303) Программа не работает. T запуск, светодиод не мигает. Я не нашел способ заставить его запустить, я должен переключить его из Visual Studio или Arduino IDE, чтобы снова мигать, как будто программа хранилась только в оперативной памяти или как будто плате STM32 нуждается в некоторых специальных прыгунах или прикреплять высокие/минимумы для загрузки запрограммированного программного обеспечения.
Любая идея об этом?


Спасибо за вашу помощь!

Стивестронг
Пт 13 января 2017 г. 9:01 вечера
Вы должны использовать загрузчик STM32Duino в качестве параметра загрузки в IDE.
Вы положили перемычку Boot1 обратно в положение орогинализма?

Ахулл
Пт 13 января 2017 г., 21:44
Вы можете взглянуть на -> http: // www.STM32duino.com/viewtopic.PHP?t = 1014

Кстати, вы получите лучшие результаты поиска на этом сайте, используя Google, чем при встроенном поиске в верхней части этой страницы.

Используйте строку поиска Google, например, следующий пример ...
Сайт: Stm32duino.com printf

Мамама1
Сб 14 января 2017 г. 1:56
Спасибо за ваши ответы.

1) Я уже использую загрузочный загрузчик STM32Duino. Оба прыгунов ботинок находятся в исходном положении (привязаны к Грауду).

2) Я уже нашел этот поток, но я не уверен, означает ли это, что PrintF не реализован в STM32Duino Out из коробки, и я должен добавить его, используя код, указанный в связанном потоке или во время реализации, которая включена Я просто слишком глуп, чтобы использовать.

Спасибо!

Ахулл
Сб 14 января 2017 г. 2:46 утра
Мамама1 написал:Спасибо за ваши ответы.

1) Я уже использую загрузочный загрузчик STM32Duino. Оба прыгунов ботинок находятся в исходном положении (привязаны к Грауду).

ZMEMW16
Сб 14 января 2017 г. 10:54
Поиск моих постов с mini_ & Zet дал:-
http: // www.STM32duino.com/viewtopic.PHP ... INI_#P4760

Есть целый ряд этих досок, все они включают/выключены, непереносимый 12 В, поскольку это версии 5 В, Vet6 или Zet6, то это +/- sdcard, +/-tft-разъем, мужской/женский разъем TFT разъем TFT разъемы
+/- == с/без

Стивен

Пито
Сб 14 января 2017 12:25
printf: Однажды я использовал эту функцию «PRTF»:
//stm32f103cb 20k ram 128k flash #define B_nextfile PA4 void setup() { afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY); // release PB3 and PB5 afio_remap(AFIO_REMAP_SPI1); // remap SPI1 gpio_set_mode(GPIOB, 3, GPIO_AF_OUTPUT_PP); gpio_set_mode(GPIOB, 4, GPIO_INPUT_FLOATING); gpio_set_mode(GPIOB, 5, GPIO_AF_OUTPUT_PP); Serial.begin(250000);delay(1000); Serial.println("serial ok"); pinMode(B_nextfile,INPUT_PULLUP) ; attachInterrupt(B_nextfile,isr_next,FALLING); } int f1; void loop() { Serial.println(f1); delay(10000); } void isr_next(void) { ++f1; }

victor_pv
Ср 18 января 2017 г. 18:32
Мамама1 написал:Спасибо за ваши ответы.

1) Я уже использую загрузочный загрузчик STM32Duino. Оба прыгунов ботинок находятся в исходном положении (привязаны к Грауду).

2) Я уже нашел этот поток, но я не уверен, означает ли это, что PrintF не реализован в STM32Duino Out из коробки, и я должен добавить его, используя код, указанный в связанном потоке или во время реализации, которая включена Я просто слишком глуп, чтобы использовать.

Спасибо!

Мамама1
Солнце 22 января 2017 г. 10:21
Спасибо, последний пост сработал.
Кроме того.

Однако я как бы отбросил идею использования STM32Duino для чего -то серьезного, так как кажется, что ядро ​​далеко от завершения, и документация по STM32Duino кажется неполным и устаревшим и устаревшим.

это очень грустно, потому что STM32 - это крутое и дешевое оборудование...

Squonk42
Солнце 22 января 2017 г. 11:16
Мамама1 написал:То, что я как бы отбросил идею использования STM32duino для чего -то серьезного, так как кажется, что ядро ​​далеко от завершения, и документация на STM32Duino кажется Horrrobly неполным и устаревшим.

Martinayotte
Солнце 22 января 2017 г. 8:46 вечера
@mamama1, удачи, если вы найдете лучшее решение в джунглях ... : ugeek:

Rogerclark
Солнце 22 января 2017 11:45
Мамама1 написал:Спасибо, последний пост сработал.
Кроме того.

Однако я как бы отбросил идею использования STM32Duino для чего -то серьезного, так как кажется, что ядро ​​далеко от завершения, и документация по STM32Duino кажется неполным и устаревшим и устаревшим.

это очень грустно, потому что STM32 - это крутое и дешевое оборудование...