STM32F103VBT6 ARDUIN

Энди
Вт 29 ноября 2016 г., 13:02
Привет,
Я новичок на этом форуме, я надеюсь, что предмет находится в правильной теме.

За моим проектом: Я хочу обновить своего робота из Tianchen с помощью нового программного обеспечения с использованием Ardumower-Code (Arduino) и оригинального процессора STM32 на главной доске робота. MCU - это STM32F103VBT6.

Я заказал AllRead разработчика ARM Cortex-M3 STM32F103VBT6 STM32 Board, но я получу его на следующей неделе. Поэтому я решил начать настройку Arduino и библиотеки STM32Hardware от Роджера Кларка и попытался загрузить код «Hello World» в MCU через USB непосредственно в Robot-PCB.
#define pinLED PC13 void setup() { Serial.begin(9600); pinMode(pinLED, OUTPUT); Serial.println("START"); } void loop() { digitalWrite(pinLED, HIGH); delay(1000); digitalWrite(pinLED, LOW); Serial.println("Hello World"); }

Стивестронг
Вт 29 ноября 2016 г. 13:18
Светодиод мигает?
А что, если вы положите серийный отпечаток в петлю?
Справочная информация: ПК повторно вырабатывает USB-порты ~ 5 секунд после сброса. Таким образом, вы печатаете только после этого времени, либо вставьте на установку: while ( !Serial.isConnected() ) ;

Энди
Вт 29 ноября 2016 г., 13:34
Привет, Стивестронг,

Был сериал.println ("Привет, мир"); В коде извините, я изменил его сейчас;
(Я также попробовал Serial1.println ("Hello World 1"); Serial2.println ("Hello World 2"); с init в настройке ())

Светодиод теперь не на главном роботе-PCB, и я не измерял непосредственно на MCU! Так что я не знаю, работает ли это. Так что я не знаю, работает ли код на MCU.

Rogerclark
Вт 29 ноября 2016 г., 19:28
Какая частота является кристаллом внешних часов?
У него даже есть один ?

Можно загрузить VI Serial без внешнего генератора часов, но код не будет работать без кристалла 8 МГц

Rogerclark
Вт 29 ноября 2016 г., 19:30
Пса.

Я не знал, что STM сделал F103VBT, кажется странной комбинацией. Много булавок, но не много вспышки или оперативной памяти.

Использование F103R должно работать, но у вас не будет доступа ко всем булавкам или всем серийным устройствам и т. Д

Энди
Вт 29 ноября 2016 г., 8:29 вечера
Спасибо за быстрый ответ!

Я не думаю, что на плате робота есть носовой ассортимент, на борту есть всего один 12 МГц.

Обновление программного обеспечения для робота (*.File File) можно загрузить бесплатным программным обеспечением STM32 ISP Software "Flymcu" или "MCUISP.Exe" http: // www.MCUISP.com/английский%20mcuisp% ... Нглиш.htm

Я попытался использовать этот программ для прошивки скомпилированного исходного файла (пример 4 «Hello World») + Libary из Phoenix-Project см http: // www.Инструменты.com/id/stm32f1 ... nviroment/
/*************************************************************************** * * Test program for "STM32F103RBT6". * After program start will send 'Hello world!' string to USART1. * *************************************************************************/ #include "..\LIB\STMF10X\stm32f10x.h" #include "..\LIB\STMF10X\core_cm3.h" #include "stm32f10x_conf.h" //--------------------------------------------------- //--------------------------------------------------- void Delay(__IO uint32_t nCount); void RCC_Configuration(void); void GPIO_Configuration(void); void USART_Configuration(void); uint8_t Message1[] = "Hello world!\r\n"; int main(int argc, char *argv[]) { RCC_Configuration(); GPIO_Configuration(); USART_Configuration(); int i = 0; while (1) { // Wait until end of transmit while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET) { } //USART_SendData(USART1, TxBuffer[10]); if (Message1[i]==0) { i=0; Delay(100); } else { USART_SendData(USART1, Message1[i++]); } } } void Delay(__IO uint32_t num) { __IO uint32_t index = 0; /* default system clock is 72MHz */ for(index = (72000 * num); index != 0; index--) { } } void RCC_Configuration(void) { /* Enable GPIO clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); /* Enable UART clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); } void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; /* Configure USART Tx as alternate function push-pull */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Configure USART Rx as input floating */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_Init(GPIOA, &GPIO_InitStructure); } void USART_Configuration(void) { /* USARTy and USARTz configuration -------------------------------------------*/ /* USART1 configured as follow: - BaudRate = 115200 baud - Word Length = 8 Bits - One Stop Bit - No parity - Hardware flow control disabled (RTS and CTS signals) - Receive and transmit enabled */ USART_InitTypeDef USART_InitStructure; USART_InitStructure.USART_BaudRate = 115200; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; /* Configure USART1 */ USART_Init(USART1, &USART_InitStructure); /* Enable the USART1 */ USART_Cmd(USART1, ENABLE); /* Enable USART1 Half Duplex Mode*/ //USART_HalfDuplexCmd(USART1, ENABLE); }

Rogerclark
Вт 29 ноября 2016 г., 22:16
ХОРОШО.

Вернуться к основам...

Почему вы используете STM32F103VB ?

Что не так в том, чтобы получить синюю таблетку (STM32F103C8) или Maple Mini (STM32F103CB), они оба составляют 5 долларов и работают нормально.


Я думаю, вам удалось заставить эту доску F103VB работать, но вы, кажется, затрудняют жизнь для себя, начиная с доски, никто другой не пытался использовать в качестве устройства Arduino

Энди
Вт 29 ноября 2016 г., 22:38
Причиной использования STM32F103VBT6 является то, что я хочу улучшить прошивку моего робота для газонокосилки, который поступает из Китая (Tianchen S510).
Моя цель - использовать Arduino (Ardumower http: // www.Ardumower.de/index.php/de/forum/ardumower) и оригинальная главная доска.

Надеюсь, теперь ясно, почему цена и власть не являются важной проблемой!

Я не знаю, почему работает этот феникс; Может быть, это просто проблема, которую я использую Стандартный загрузчик 2.2?

Справочная информация: я попробовал последовательное соединение («Hello World») с программой Keil µVision, и это также работает!

Rogerclark
Вт 29 ноября 2016 г., 11:05 вечера
F103VB не особенно мощный

У него такой же оперативной памяти и размер вспышки, что и F103CB, у него просто больше булавок, а также несколько дополнительных вещей (у него может быть ЦАП - но я не могу вспомнить)

Если вы хотите повысить производительность, вам нужно будет пойти на доску F4 (на Aliexpress есть доска F407VET за 10 долларов США)

Примечание. Наша поддержка серии F4 не так сильна, как для F103, но она может стать лучше, так как STM должен писать версию своего ядра для поддержки F4

Энди
Ср 30 ноября 2016 г. 1:20
Я думаю, что это скорее проблема процесса сборки! Получение предупреждений во время восстановления!
Warning_during_build.png
Warning_during_build.PNG (112.17 киб) просмотрено 992 раз

Rogerclark
Ср 30 ноября 2016 г. 2:31
F103rb компилируется для меня хорошо

1. Какая версия IDE вы используете. Я сейчас использую 1.6.13 (но 1.6.12 тоже было в порядке)
2. Как вы установили, загрузив репо или @ddrowns неофициальный пакет JSON ?
3. Скомтилируется ли чистый набросок
3. Скомтилируется ли мигающий эскиз
4. У вас есть нестандартная установка IDE E.глин. Портативная версия

Энди
Ср 30 ноября 2016 г. 6:56 утра
1. Какая версия IDE вы используете. Я сейчас использую 1.6.13 (но 1.6.12 тоже было в порядке)
-> IDE версия 1.6.9 на Windows7
2. Как вы установили, загрузив репо или @ddrowns неофициальный пакет JSON ?
-> Ваша версия от git скачать 23.11.2016 https: // github.com/rogerclarkmelbourne/arduino_stm32
3. Скомтилируется ли чистый набросок
-> Никаких и тех же предупреждений
3. Скомтилируется ли мигающий эскиз
-> нет
4. У вас есть нестандартная установка IDE E.глин. Портативная версия
-> Нет стандартной версии 1.6.9 Установлено в C: \ Program Files (x86) \ arduino

Rogerclark
Ср 30 ноября 2016 г. 8:24
Энди написал:1. Какая версия IDE вы используете. Я сейчас использую 1.6.13 (но 1.6.12 тоже было в порядке)
-> IDE версия 1.6.9 на Windows7
2. Как вы установили, загрузив репо или @ddrowns неофициальный пакет JSON ?
-> Ваша версия от git скачать 23.11.2016 https: // github.com/rogerclarkmelbourne/arduino_stm32
3. Скомтилируется ли чистый набросок
-> Никаких и тех же предупреждений
3. Скомтилируется ли мигающий эскиз
-> нет
4. У вас есть нестандартная установка IDE E.глин. Портативная версия
-> Нет стандартной версии 1.6.9 Установлено в C: \ Program Files (x86) \ arduino

Даниэфф
Ср 30 ноября 2016 г. 9:10
Энди написал:Я думаю, что это скорее проблема процесса сборки! Получение предупреждений во время восстановления!
C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\AK104930\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\AK104930\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\AK104930\Documents\Arduino\libraries" -fqbn=Arduino_STM32-master:STM32F1:genericSTM32F103R:device_variant=STM32F103RB,upload_method=serialMethod -ide-version=10609 -build-path "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp" -warnings=all -prefs=build.warn_data_percentage=75 -verbose "C:\Users\AK104930\Documents\Arduino\test_STM2\test_STM2.ino" C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\AK104930\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\AK104930\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\AK104930\Documents\Arduino\libraries" -fqbn=Arduino_STM32-master:STM32F1:genericSTM32F103R:device_variant=STM32F103RB,upload_method=serialMethod -ide-version=10609 -build-path "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp" -warnings=all -prefs=build.warn_data_percentage=75 -verbose "C:\Users\AK104930\Documents\Arduino\test_STM2\test_STM2.ino" Build options changed, rebuilding all "C:\Users\AK104930\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++" -c -g -Os -w -DDEBUG_LEVEL=DEBUG_NONE -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -DBOARD_generic_stm32f103r8 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOB -DERROR_LED_PIN=1 -w -x c++ -E -CC -mcpu=cortex-m3 -DF_CPU=72000000L -DARDUINO=10609 -DARDUINO_GENERIC_STM32F103R -DARDUINO_ARCH_STM32F1 -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/stm32f1/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/stm32f1" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/usb_lib" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\cores\maple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8" "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\sketch\test_STM2.ino.cpp" -o "nul" "C:\Users\AK104930\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++" -c -g -Os -w -DDEBUG_LEVEL=DEBUG_NONE -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -DBOARD_generic_stm32f103r8 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOB -DERROR_LED_PIN=1 -w -x c++ -E -CC -mcpu=cortex-m3 -DF_CPU=72000000L -DARDUINO=10609 -DARDUINO_GENERIC_STM32F103R -DARDUINO_ARCH_STM32F1 -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/stm32f1/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/stm32f1" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/usb_lib" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\cores\maple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8" "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\sketch\test_STM2.ino.cpp" -o "nul" "C:\Users\AK104930\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++" -c -g -Os -w -DDEBUG_LEVEL=DEBUG_NONE -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -DBOARD_generic_stm32f103r8 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOB -DERROR_LED_PIN=1 -w -x c++ -E -CC -mcpu=cortex-m3 -DF_CPU=72000000L -DARDUINO=10609 -DARDUINO_GENERIC_STM32F103R -DARDUINO_ARCH_STM32F1 -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/stm32f1/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/stm32f1" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/usb_lib" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\cores\maple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8" "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\sketch\test_STM2.ino.cpp" -o "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\preproc\ctags_target_for_gcc_minus_e.cpp" "C:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\preproc\ctags_target_for_gcc_minus_e.cpp" "C:\Users\AK104930\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++" -c -g -Os -Wall -Wextra -DDEBUG_LEVEL=DEBUG_ALL -MMD -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -DBOARD_generic_stm32f103r8 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOB -DERROR_LED_PIN=1 -mcpu=cortex-m3 -DF_CPU=72000000L -DARDUINO=10609 -DARDUINO_GENERIC_STM32F103R -DARDUINO_ARCH_STM32F1 -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/stm32f1/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/stm32f1" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/usb_lib" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\cores\maple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8" "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\sketch\test_STM2.ino.cpp" -o "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\sketch\test_STM2.ino.cpp.o" "C:\Users\AK104930\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-gcc" -c -g -x assembler-with-cpp -MMD -mcpu=cortex-m3 -DF_CPU=72000000L -DARDUINO=10609 -DARDUINO_GENERIC_STM32F103R -DARDUINO_ARCH_STM32F1 -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/stm32f1/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/stm32f1" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/usb_lib" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\cores\maple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8" "C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\start.S" -o "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\core\wirish\start.S.o" "C:\Users\AK104930\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-gcc" -c -g -Os -Wall -Wextra -DDEBUG_LEVEL=DEBUG_ALL -MMD -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -DBOARD_generic_stm32f103r8 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOB -DERROR_LED_PIN=1 -mcpu=cortex-m3 -DF_CPU=72000000L -DARDUINO=10609 -DARDUINO_GENERIC_STM32F103R -DARDUINO_ARCH_STM32F1 -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/stm32f1/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/stm32f1" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/usb_lib" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\cores\maple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8" "C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\start_c.c" -o "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\core\wirish\start_c.c.o" "C:\Users\AK104930\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-gcc" -c -g -Os -Wall -Wextra -DDEBUG_LEVEL=DEBUG_ALL -MMD -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -DBOARD_generic_stm32f103r8 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOB -DERROR_LED_PIN=1 -mcpu=cortex-m3 -DF_CPU=72000000L -DARDUINO=10609 -DARDUINO_GENERIC_STM32F103R -DARDUINO_ARCH_STM32F1 -DMCU_STM32F103RB -mthumb -march=armv7-m -D__STM32F1__ "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/stm32f1/include" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/stm32f1" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\system/libmaple/usb/usb_lib" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\cores\maple" "-IC:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8" "C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c" -o "C:\Users\AK104930\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\core\wirish\syscalls.c.o" C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function '_open': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:79:30: warning: unused parameter 'path' [-Wunused-parameter] __weak int _open(const char *path, int flags, ...) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:79:40: warning: unused parameter 'flags' [-Wunused-parameter] __weak int _open(const char *path, int flags, ...) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function '_close': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:83:23: warning: unused parameter 'fd' [-Wunused-parameter] __weak int _close(int fd) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function '_fstat': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:87:23: warning: unused parameter 'fd' [-Wunused-parameter] __weak int _fstat(int fd, struct stat *st) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function '_isatty': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:92:24: warning: unused parameter 'fd' [-Wunused-parameter] __weak int _isatty(int fd) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function 'isatty': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:96:23: warning: unused parameter 'fd' [-Wunused-parameter] __weak int isatty(int fd) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function '_lseek': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:100:23: warning: unused parameter 'fd' [-Wunused-parameter] __weak int _lseek(int fd, off_t pos, int whence) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:100:33: warning: unused parameter 'pos' [-Wunused-parameter] __weak int _lseek(int fd, off_t pos, int whence) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:100:42: warning: unused parameter 'whence' [-Wunused-parameter] __weak int _lseek(int fd, off_t pos, int whence) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function '_read': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:109:22: warning: unused parameter 'fd' [-Wunused-parameter] __weak int _read(int fd, char *buf, size_t cnt) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:109:44: warning: unused parameter 'cnt' [-Wunused-parameter] __weak int _read(int fd, char *buf, size_t cnt) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function 'putch': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:115:33: warning: unused parameter 'c' [-Wunused-parameter] __weak void putch(unsigned char c) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function '_write': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:161:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < cnt; i++) ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:158:23: warning: unused parameter 'fd' [-Wunused-parameter] __weak int _write(int fd, const char *buf, size_t cnt) { ^ C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c: In function 'fgets': C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\STM32F1\variants\generic_stm32f103r8\wirish\syscalls.c:168:48: warning: unused parameter 'f' [-Wunused-parameter] __weak char *fgets(char *s, int bufsize, void *f) { ...... \Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\core\wirish\boards_setup.cpp.o" "C:\Users\andy\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp/core\core.a" -Wl,--end-group "C:\Users\andy\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-objcopy" -O binary "C:\Users\andy\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp/test_STM2.ino.elf" "C:\Users\andy\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp/test_STM2.ino.bin" Sketch uses 9,092 bytes (6%) of program storage space. Maximum is 131,072 bytes. Global variables use 1,984 bytes of dynamic memory. Reading data from C:\Users\andy\AppData\Local\Temp\build30fe39dbbb065b9ba53602a249e65e19.tmp\test_STM2.ino.bin Running from address Bootloader version 0x22 Chip id 0x410, STM32F1, performance, medium-density Writing 9092 bytes to start address 0x8000000 Write 256 bytes at 0x8000000 Write 256 bytes at 0x8000100 Write 256 bytes at 0x8000200 Write 256 bytes at 0x8000300 Write 256 bytes at 0x8000400 Write 256 bytes at 0x8000500 Write 256 bytes at 0x8000600 Write 256 bytes at 0x8000700 Write 256 bytes at 0x8000800 Write 256 bytes at 0x8000900 Write 256 bytes at 0x8000A00 Write 256 bytes at 0x8000B00 Write 256 bytes at 0x8000C00 Write 256 bytes at 0x8000D00 Write 256 bytes at 0x8000E00 Write 256 bytes at 0x8000F00 Write 256 bytes at 0x8001000 Write 256 bytes at 0x8001100 Write 256 bytes at 0x8001200 Write 256 bytes at 0x8001300 Write 256 bytes at 0x8001400 Write 256 bytes at 0x8001500 Write 256 bytes at 0x8001600 Write 256 bytes at 0x8001700 Write 256 bytes at 0x8001800 Write 256 bytes at 0x8001900 Write 256 bytes at 0x8001A00 Write 256 bytes at 0x8001B00 Write 256 bytes at 0x8001C00 Write 256 bytes at 0x8001D00 Write 256 bytes at 0x8001E00 Write 256 bytes at 0x8001F00 Write 256 bytes at 0x8002000 Write 256 bytes at 0x8002100 Write 256 bytes at 0x8002200 Write 256 bytes at 0x8002300

Энди
Ср 30 ноября 2016 г. 12:07
Я тоже старался устал
- Arduino Ide 1.6.13
- Доски: Ардуино AVR Доски встроенный версии 1.6.15 и Ардуино Самд доски (32 бита ARM Cortex-M0+) версии 1.6.8

-> не работает - Те же предупреждения, что и на версии 1 IDE.6.9 на Windows7

Может быть, проблема строительства на машине Windows??

Стивестронг
Ср 30 ноября 2016 г. 12:15
Я не вижу никакой опции компилятора "-deserial_usb", так что это может сделать снова с отсутствующим определением для последовательного USB...
Я просто не понимаю, почему этого не хватает, поскольку его следует использовать в качестве флагов загрузки (для всех методов загрузки, кроме "Сериал") Как написано в досках.txt file...

Вы должны использовать "STM32duino Bootloader"Как метод загрузки в меню Arduino.
«Серийный» метод загрузки доступен только для использования только в том случае, если у вас есть дополнительная USB в плату серийного преобразователя и загрузка по сериалу 1. Этот метод довольно подходит для загрузки только загрузчика, но не для нормальной разработки SW.
Может быть, немного сбивает с толку, что «серийная» загрузка не является «методом загрузки над USB Serial...

Энди
Ср 30 ноября 2016 г., 20:31
Пост Стивестронг » Ср 30 ноября 2016 г. 13:15
Я не вижу никакой опции компилятора "-deserial_usb", так что это может сделать снова с отсутствующим определением для последовательного USB...
Я просто не понимаю, почему это не хватает, так как его следует использовать в качестве флагов загрузки (для всех методов загрузки, кроме «серийного»), как написано на досках.txt file...

Вы должны использовать «STM32Duino Bootloader» в качестве метода загрузки в меню Arduino.
«Серийный» метод загрузки доступен только для использования только в том случае, если у вас есть дополнительная USB в плату серийного преобразователя и загрузка по сериалу 1. Этот метод довольно подходит для загрузки только загрузчика, но не для нормальной разработки SW.
Может быть, немного сбивает с толку, что «серийная» загрузка не является «методом загрузки над USB Serial...
Я использую STMF103VBT6 на существующем Совет роботов газонокосилки. Таким образом, это оборудование имеет последовательный преобразователь, который использует сигналы RTS и CTS для загрузки в модусе мигания. Это причина, почему я использую метод загрузки "серийный".
Загрузка работает, может быть, некоторые проблемы с AdSress?!

Я проверил другие настройки с другими параметрами загрузки или другими досками (все платы STM32 STM32Duino.com) и я получаю все время одно и то же предупреждения! :плакать: :плакать:

Стивестронг
Ср 30 ноября 2016 г., 8:54 вечера
Предупреждения безвредны, не нужно беспокоиться.
Если у вас есть доступ только к PA9/PA10, это сериал 1. Итак, в вашем коде вы должны использовать Serial1.начать и так далее.

Rogerclark
Ср 30 ноября 2016 г., 21:00
Я понятия не имею, почему вы получаете предупреждения, можете ли вы сделать чистую установку на другой машине, так как Afik никто другой не получает предупреждения во время компиляции.

Re: Загрузка

Просто выберите опцию загрузки последовательной загрузки, но вам нужно установить Boot0 на плату и сбросить его каждый раз перед загрузкой (но я думаю, вы уже это делаете)

Если вы выберете опцию загрузки последовательной загрузки, то Arduino «серийный» - USART1 (PA9/PA10), поэтому вы должны увидеть выход через USB в серийный адаптер

Также попробуйте мигать или переключить порт GPIO.

Если ничего не работает, я подозреваю, что проблема с часами, но вы сказали, что у него есть внешний кристалл / резонатор на внешний часы 8 МГц, так что это должно быть в порядке.

Энди
Пт 02 декабря 2016 г. 6:58 утра
Я остановлю работу, пока не получу STM32F103VBT6 Совет по развитию.
Там легче проверить серийные и другие gpios (e.глин. с мигани)

Единственное, что я не понимаю, это то, почему пример 4 библиотека «Привет, мир» + из феникса-проекта см http: // www.Инструменты.com/id/stm32f1 ... nviroment/ работает

Rogerclark
Пт 02 декабря 2016 г., 7:08
Энди написал: Единственное, что я не понимаю, это то, почему пример 4 библиотека «Привет, мир» + из феникса-проекта см http: // www.Инструменты.com/id/stm32f1 ... nviroment/ работает

Стивестронг
Пт 02 декабря 2016 г., 10:00 утра
@andy, пожалуйста, опубликуйте здесь аппаратную схему, иначе мы не знаем, какой сериал вы используете.
В зависимости от этого, программное обеспечение должно быть настроено соответствующим образом.

ZMEMW16
Пт 02 декабря 2016 г. 14:13
Ardumower на GitHub

https: // github.com/ardumower/ardumower

Итак, какая модель/доска, пожалуйста ?

Стивен

Энди
Пт 02 декабря 2016 г. 15:41
Привет,

это робот доска Tianchen S510
offen_i75680322._szw565h2600_.jpg
OFFEN_I75680322._SZW565H2600_.JPG (122.31 киб) просмотрено 796 раз

Rogerclark
Сб 3 декабря 2016 г. 12:32
Я думаю, что есть несколько вещей, которые вам нужно для работы.

1. Почему вы получаете какие -либо предупреждения о компиляции. Это не нормально. Я бы порекомендовал вам сделать чистую установку репо и, возможно, чистая установка IDE
Когда вы это сделаете, просто составьте пустой набросок для общего F103C8 и подтвердите, что вы не получите предупреждений
Затем выберите F103RB и попробуйте еще раз

2. Когда у вас нет предупреждений, напишите простой набросок подсчета и отправляет счет через сериал.

Под меню «Эскиз» вы можете экспортировать скомпилированную бинарную, а затем «Show Sketch Polder»

Затем вручную запустите скрипт Python и принесите его отправить файл на доску, и подтвердите, что скрипт Python, похоже, загружает

3. Наконец -то проверьте, видите ли вы что -нибудь через USB в сериал. (Обратите внимание, что вам нужно вручную сбросить доску в вашем случае)

Если сериал не работает, посмотрите, сможете ли вы найти светодиод или только какую -то тестовую точку на плате, которую вы можете прикрепить измеритель Volt и переключить этот вывод E.глин. Используя мигающий эскиз


По сути, насколько я могу судить, вы сможете очень легко перепрограммировать эту косилку, но вам нужно подтвердить, что у нее есть кристалл часов 8 МГц, так как серийные загрузки работают, даже если это не функционирует, но наш код не работает.

Выйти из строя всего этого, вам, вероятно, придется прибегнуть к установке собственной STM32Cubemx от STM, чтобы создать код котла и использовать True Studio (или аналогичную), чтобы составить его. (и получите Blink Work). Как вы можете настроить часы в кубе, чтобы все время использовать внутренний RC OSC

Энди
Сб 3 декабря 2016 12:08
Спасибо, Роджер,

1. Я сделал полную новую установку с Arduino IDE1.6.13 -> Варниги сейчас не сдвинуты
2. Загрузка работает с помощью Python и модификаций, написанных в Fist Post (USB -> PL2303HX с RTS/CTS)
Чтобы иметь возможность сделать загрузку автоматически, я должен был в некоторых изменениях (Windows):
1. Изменение в Arduino скачать через сериал
2. В ..\ ardware \ arduino_stm32-master \ tools \ winserial_upload.Изменение летучей мыши для скачивания через Python
REM: STM32FLASH -G 0x8000000 -B 230400 -W %ST % %1
C: \ python27 \ python.Exe STM32Loader.py -e -w -p %1 -g -b 115200 %str %
3. Установите Python2.7 + серийный пакет
4. Включить DTS&RT в STM32Loader.py (rtscts = 1, # отключить управление потоком RTS/CTS)


3. не работает, я думаю, что проблема в отсутствующий Осциллятор 8 МГц на PIN12 (OSC_IN) и PIN13 (OSC_OUT) STM32F103VBT6

Есть только один 12 МГц оселлятор на выводе 8 (PC14-OSC32_in) и PIN9 (PC15-OSC32_OUT)

Похоже, что Serial работает с кодом, сгенерированным STM32Cubemx+Keil или в проекте Phoenix из -за того, что внутренний генератор - это доллар США!

Я нашел в STM32F1XX_HAL_RCC.C сгенерирован с помощью STM32Cubemx: STM32F1XX_HAL_RCC.в
============================================================================= ===========================
##### Специфические функции RCC #####
============================================================================= ===========================
[..]
После сброса устройство работает от Внутренний высокоскоростный генератор
(HSI 8 МГц)
С вспышкой 0 состояние ожидания включено буфер с предварительной перефеткой Flash,
и все периферийные устройства выключены, кроме внутреннего SRAM, Flash и JTAG.
(+) На автобусах высокой скорости (AHB) и низкой скорости (APB) нет прескаля;
Все периферийные устройства, нанесенные на эти автобусы, работают со скоростью HSI.
Есть ли шанс использовать вас STM32F103 с Arduino без генератора 8 МГц на PIN12/13? Как я уже упоминал, я хочу использовать код Ardumower, и я не хочу писать весь код в C!

Энди
Сб 3 декабря 2016 г., 21:24
Сериал работает !!!!!!!

Я изменил печатную плату робота! Он был уже подготовлен для внешнего генератора.
Я использовал кварц 8 МГц и два конденсатора на Postiton C26 и C27 с 22pf
S510_s520_board .jpg
S510_S520_BOARD .JPG (85.97 киб) просмотрено 756 раз

Ахулл
Сб 3 декабря 2016 г. 22:17
На выводе 8 (PC14-OSC32_IN) и PIN9 (PC15-OSC32_OUT) есть только один OSZILLATOR 12 МГц (PC14-OSC32_IN) и PIN9 (PC15-OSC32_OUT Это кажется немного странным... Я бы подумал, что это был бы кристалл часа 32768 Гц (отсюда OSC32).
Они могут делать что -то хитрое (или глупое) с LSE. Вы охватили эти булавки, чтобы подтвердить, что у вас есть 12 МГц на них?

Энди
Sun 04 декабря 2016 г. 14:58
Я проверил частоту на OSC32: там просто шум; Я хочу, чтобы это был неправильный кристалл, а затем использовавшиеся внутренние часы 8 МГц!

Кварц 8 МГц колеблется правильно.

Первые цифровые входы сейчас работают, но когда Шинь выход для L298 на PC7 или PC8 установлен EG. pwmwrite (outpwm_l, 0) MCU останавливается :( -> Нет серийного нет ШИМ на штифтах ШИМ.
// Test STM32F103VBT6 // RBT6 Flash 128kB Ram48kB -> Hello World ins working! // VCT6 Flash 256kB statt 128 bzw Ram:48kb statt 20kB -> Hello World ins not working :-(((((( const int outPWM_L = PC8; // PC8 out PWM L298 left motor problem when writing pwmWrite(outPWM_L, 0) const int outPWM_R = PC7; // PC7 out PWM L298 right motor const int pinLiftSensor = PB4; //working const int pinPressureSensor = PB5; //working const int pinRightBump= PB6; //working const int pinLeftBump = PB7;//working void setup() { Serial.begin(9600); //pinMode(pinLED, OUTPUT); Serial.println("START"); pinMode(outPWM_L, PWM); pinMode(outPWM_R, PWM); pinMode(pinLiftSensor, INPUT); pinMode(pinPressureSensor, INPUT); pinMode(pinRightBump, INPUT); pinMode(pinLeftBump, INPUT); } void loop() { //digitalWrite(pinLED, HIGH); delay(1000); // digitalWrite(pinLED, LOW); Serial.println("Hello World working (SM32F103VBT with STM32F103RBT6 setting) - jippie yeah!!"); Serial.print("\t pinLiftSensor = " ); Serial.print(digitalRead(pinLiftSensor)); Serial.print("\t pinPressureSensor = " ); Serial.print(digitalRead(pinPressureSensor)); Serial.print("\t pinRightBump = " ); Serial.print(digitalRead(pinRightBump)); Serial.print("\t pinLeftBump = " ); Serial.println(digitalRead(pinLeftBump)); pwmWrite(outPWM_L, 0); // problem not working! //pwmWrite(outPWM_R, 100); delay(2000); //pwmWrite(outPWM_L, 200); //pwmWrite(outPWM_R, 250); }

Rogerclark
Sun 04 декабря 2016 г., 21:01
Ммм

Попробуйте кажущееся аналоговое написание на работах PB0, так как это не обрушится для меня на Maple Mini

Шинь на PC7 использует Timer8 вместо Timer3, поэтому может быть ошибка, используя другой таймер

Ахулл
Sun 04 декабря 2016 г., 21:02
У вас есть более четкие, более четкие фотографии доски?

Энди
Sun 04 декабря 2016 г., 22:04
Re: STM32F103VBT6 Arduino Загрузка задача - Решено

Сообщите об этом посте
Цитировать

Пост -Рогеркларк » Sun 04 декабря 2016 г., 22:01
Ммм

Попробуйте кажущееся аналоговое написание на работах PB0, так как это не обрушится для меня на Maple Mini

Шинь на PC7 использует Timer8 вместо Timer3, поэтому может быть ошибка, используя другой таймер
MCU IS STM32F103VBT, и я использую generic_stm32f103r8. Оба имеют только 4 таймера, а Timer4 используется для PWM PB6 до PB9 (см. Правление.CPP для generic_stm32f103r8).

board.cpp for generic_STM32F103r8 /****************************************************************************** * The MIT License * * Copyright (c) 2011 LeafLabs, LLC. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. *****************************************************************************/ /** * @file wirish/boards/maple_mini/board.cpp * @author Marti Bolivar * @brief Maple Mini board file. */ #include #include #include /* Roger Clark. Added next to includes for changes to Serial */ #include #include #include #include /* Since we want the Serial Wire/JTAG pins as GPIOs, disable both SW * and JTAG debug support, unless configured otherwise. */ void boardInit(void) { #ifndef CONFIG_MAPLE_MINI_NO_DISABLE_DEBUG disableDebugPorts(); #endif } // Note. See the enum of pin names in board.h extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = { {&gpioa, &timer2, &adc1, 0, 1, 0}, /* PA0 */ {&gpioa, &timer2, &adc1, 1, 2, 1}, /* PA1 */ {&gpioa, &timer2, &adc1, 2, 3, 2}, /* PA2 */ {&gpioa, &timer2, &adc1, 3, 4, 3}, /* PA3 */ {&gpioa, NULL, &adc1, 4, 0, 4}, /* PA4 */ {&gpioa, NULL, &adc1, 5, 0, 5}, /* PA5 */ {&gpioa, &timer3, &adc1, 6, 1, 6}, /* PA6 */ {&gpioa, &timer3, &adc1, 7, 2, 7}, /* PA7 */ {&gpioa, &timer1, NULL, 8, 1, ADCx}, /* PA8 */ {&gpioa, &timer1, NULL, 9, 2, ADCx}, /* PA9 */ {&gpioa, &timer1, NULL, 10, 3, ADCx}, /* PA10 */ {&gpioa, &timer1, NULL, 11, 4, ADCx}, /* PA11 */ {&gpioa, NULL, NULL, 12, 0, ADCx}, /* PA12 */ {&gpioa, NULL, NULL, 13, 0, ADCx}, /* PA13 */ {&gpioa, NULL, NULL, 14, 0, ADCx}, /* PA14 */ {&gpioa, NULL, NULL, 15, 0, ADCx}, /* PA15 */ {&gpiob, &timer3, &adc1, 0, 3, 8}, /* PB0 */ {&gpiob, &timer3, &adc1, 1, 4, 9}, /* PB1 */ {&gpiob, NULL, NULL, 2, 0, ADCx}, /* PB2 */ {&gpiob, NULL, NULL, 3, 0, ADCx}, /* PB3 */ {&gpiob, NULL, NULL, 4, 0, ADCx}, /* PB4 */ {&gpiob, NULL, NULL, 5, 0, ADCx}, /* PB5 */ {&gpiob, &timer4, NULL, 6, 1, ADCx}, /* PB6 */ {&gpiob, &timer4, NULL, 7, 2, ADCx}, /* PB7 */ {&gpiob, &timer4, NULL, 8, 3, ADCx}, /* PB8 */ {&gpiob, &timer4, NULL, 9, 4, ADCx}, /* PB9 */ {&gpiob, NULL, NULL, 10, 0, ADCx}, /* PB10 */ {&gpiob, NULL, NULL, 11, 0, ADCx}, /* PB11 */ {&gpiob, NULL, NULL, 12, 0, ADCx}, /* PB12 */ {&gpiob, NULL, NULL, 13, 0, ADCx}, /* PB13 */ {&gpiob, NULL, NULL, 14, 0, ADCx}, /* PB14 */ {&gpiob, NULL, NULL, 15, 0, ADCx}, /* PB15 */ /* Andy Hull - the R8 is similar to the C8 but exposes more GPIO as follows */ {&gpioc, NULL, &adc1, 0, 0, 10}, /* PC0 */ {&gpioc, NULL, &adc1, 1, 0, 11}, /* PC1 */ {&gpioc, NULL, &adc1, 2, 0, 12}, /* PC2 */ {&gpioc, NULL, &adc1, 3, 0, 13}, /* PC3 */ {&gpioc, NULL, &adc1, 4, 0, 14}, /* PC4 */ {&gpioc, NULL, &adc1, 5, 0, 15}, /* PC5 */ {&gpioc, NULL, NULL, 6, 0, ADCx}, /* PC6 */ {&gpioc, NULL, NULL, 7, 0, ADCx}, /* PC7 */ {&gpioc, NULL, NULL, 8, 0, ADCx}, /* PC8 */ {&gpioc, NULL, NULL, 9, 0, ADCx}, /* PC9 */ {&gpioc, NULL, NULL, 10, 0, ADCx}, /* PC10 */ {&gpioc, NULL, NULL, 11, 0, ADCx}, /* PC11 */ {&gpioc, NULL, NULL, 12, 0, ADCx}, /* PC12 */ {&gpioc, NULL, NULL, 13, 0, ADCx}, /* PC13 */ {&gpioc, NULL, NULL, 14, 0, ADCx}, /* PC14 */ {&gpioc, NULL, NULL, 15, 0, ADCx}, /* PC15 */ {&gpiod, NULL, NULL, 2, 0, ADCx}, /* PD2 */ }; extern const uint8 boardPWMPins[BOARD_NR_PWM_PINS] __FLASH__ = { PB0, PA7, PA6, PA3, PA2, PA1, PA0, PB7, PB6, PA10, PA9, PA8, PC6, PC7, PC8, PC9 }; extern const uint8 boardADCPins[BOARD_NR_ADC_PINS] __FLASH__ = { PB0, PA7, PA6 , PA5 , PA4 , PA3 , PA2 , PA1 , PA0 , PC0, PC1, PC2, PC3, PC4, PC5 }; // Note. These defines are not really used by generic boards. They are for Maple Serial USB #define USB_DP PA12 #define USB_DM PA11 // NOte. These definitions are not really used for generic boards, they only relate to boards modified to behave like Maple boards extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { USB_DP, USB_DM }; /* * Roger Clark * * 2015/05/28 * * Moved definitions for Hardware Serial devices from HardwareSerial.cpp so that each board can define which Arduino "Serial" instance * Maps to which hardware serial port on the microprocessor */ #ifdef SERIAL_USB DEFINE_HWSERIAL(Serial1, 1); DEFINE_HWSERIAL(Serial2, 2); DEFINE_HWSERIAL(Serial3, 3); #else DEFINE_HWSERIAL(Serial, 1); DEFINE_HWSERIAL(Serial1, 2); DEFINE_HWSERIAL(Serial2, 3); #endif

Rogerclark
Sun 04 декабря 2016 г., 22:36
Энди написал:Использование вывода в качестве pinmode (outpwm_l, output) in setup () и цифровой авторитет, который работает, так что это проблема с PWMout PC7 и PC8

Энди
Пн, 05 декабря 2016 г., 16:50
Привет, Роджер,

Да, это правда, и PC7 и PC8 не имеют таймера, потому что все 4 таймера используются!

Реконфигурация возможна?

USB наблюдения

STM32F103CB Dual SPI