STM32F103C8_Plantilla_USB Plantilla para configuración del Puerto USB y la Terminal Serial
Dependencies: mbed-STM32F103C8T6 USBDevice_STM32F103 mbed-src
Revision 1:e691f2e04aeb, committed 2019-09-05
- Comitter:
- Antulius
- Date:
- Thu Sep 05 19:48:05 2019 +0000
- Parent:
- 0:16b83f767a7e
- Commit message:
- STM32F103C8T6_Plantilla_USB
Changed in this revision
--- a/PinNames.h Wed Jun 26 18:48:46 2019 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,155 +0,0 @@ -/* mbed Microcontroller Library - ******************************************************************************* - * Copyright (c) 2014, STMicroelectronics - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ******************************************************************************* - - */ -#ifndef MBED_PINNAMES_H -#define MBED_PINNAMES_H - -#include "cmsis.h" -#include "PinNamesTypes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - // Not connected - NC = (int)0xFFFFFFFF, - - // Ports - PA_0 = 0x00, - PA_1 = 0x01, - PA_2 = 0x02, - PA_3 = 0x03, - PA_4 = 0x04, - PA_5 = 0x05, - PA_6 = 0x06, - PA_7 = 0x07, - PA_8 = 0x08, - PA_9 = 0x09, - PA_10 = 0x0A, - PA_11 = 0x0B, - PA_12 = 0x0C, - PA_13 = NC, - PA_14 = NC, - PA_15 = 0x0F, - - PB_0 = 0x10, - PB_1 = 0x11, - PB_2 = NC, - PB_3 = 0x13, - PB_4 = 0x14, - PB_5 = 0x15, - PB_6 = 0x16, - PB_7 = 0x17, - PB_8 = 0x18, - PB_9 = 0x19, - PB_10 = 0x1A, - PB_11 = 0x1B, - PB_12 = 0x1C, - PB_13 = 0x1D, - PB_14 = 0x1E, - PB_15 = 0x1F, - - PC_0 = NC, - PC_1 = NC, - PC_2 = NC, - PC_3 = NC, - PC_4 = NC, - PC_5 = NC, - PC_6 = NC, - PC_7 = NC, - PC_8 = NC, - PC_9 = NC, - PC_10 = NC, - PC_11 = NC, - PC_12 = NC, - PC_13 = 0x2D, - PC_14 = 0x2E, - PC_15 = 0x2F, - - PD_2 = NC, - - // ADC internal channels - ADC_TEMP = 0xF0, - ADC_VREF = 0xF1, - - // Arduino connector namings - A0 = PA_0, - A1 = PA_1, - A2 = PA_4, - A3 = PB_0, - A4 = NC, - A5 = NC, - D0 = PA_3, - D1 = PA_2, - D2 = PA_10, - D3 = PB_3, - D4 = PB_5, - D5 = PB_4, - D6 = PB_10, - D7 = PA_8, - D8 = PA_9, - D9 = NC, - D10 = PB_6, - D11 = PA_7, - D12 = PA_6, - D13 = PA_5, - D14 = PB_9, - D15 = PB_8, - - // Generic signals namings - Red_Led = NC, - Green_Led = PC_13, - Blue_Led = NC, - LED1 = PC_13, - LED2 = NC, - LED3 = NC, - LED4 = NC, - USER_BUTTON = NC, - SERIAL_TX = PA_2, - SERIAL_RX = PA_3, - USBTX = PA_2, - USBRX = PB_3, - CANRX = PB_8, - CANTX = PB_9, - I2C_SCL = PB_8, - I2C_SDA = PB_9, - SPI_MOSI = PA_7, - SPI_MISO = PA_6, - SPI_SCK = PA_5, - SPI_CS = PB_6, - PWM_OUT = PB_3 -} PinName; - -#ifdef __cplusplus -} -#endif - -#endif
--- a/SysClockConf.cpp Wed Jun 26 18:48:46 2019 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* - ****************************************************************************** - * @file SysClockConf.c - * @author Zoltan Hudak - * @version - * @date 05-July-2016 - * @brief System Clock configuration for STM32F103C8T6 - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT(c) 2016 Zoltan Hudak <hudakz@outlook.com> - * - * All rights reserved. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "SysClockConf.h" -#include "mbed.h" - -void HSE_SystemClock_Config(void) { - RCC_OscInitTypeDef RCC_OscInitStruct; - RCC_ClkInitTypeDef RCC_ClkInitStruct; - RCC_PeriphCLKInitTypeDef PeriphClkInit; - - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; - HAL_RCC_OscConfig(&RCC_OscInitStruct); - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; - RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2); - PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_USB; - PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6; - PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5; - HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit); -} - -void confSysClock(void) { - HAL_RCC_DeInit(); - HSE_SystemClock_Config(); - SystemCoreClockUpdate(); -} - \ No newline at end of file
--- a/SysClockConf.h Wed Jun 26 18:48:46 2019 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -#ifndef CONFSYSCLOCK_H -#define CONFSYSCLOCK_H - -#pragma once -void confSysClock(void); - -#endif \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/USBDevice_STM32F103.lib Thu Sep 05 19:48:05 2019 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/users/hudakz/code/USBDevice_STM32F103/#faedf6c65e43
--- a/main.cpp Wed Jun 26 18:48:46 2019 +0000 +++ b/main.cpp Thu Sep 05 19:48:05 2019 +0000 @@ -1,6 +1,6 @@ /* ########################################################################### ** Archivo : main.c -** Proyecto : STM32-F103C8_Plantilla +** Proyecto : STM32-F103C8_Plantilla_USB ** Procesador : STM32F103C8 ** Herramienta : Mbed ** Version : Driver 01.01 @@ -30,11 +30,10 @@ : Includes :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */ +#include "stm32f103c8t6.h" +#include "stm32f10x.h" +#include "mbed_lib.h" #include "mbed.h" -#include "stm32f103c8t6.h" -//#include "stm32f10x.h" -#include "PinNames.h" -#include "SysClockConf.h" #include "AnalogIn.h" #include "Ticker.h" //#include "Led_RGB.h" @@ -50,13 +49,15 @@ #define off 1 // Estado para boton sin presionar #define hold 2 // Estado para boton mantenido #define release 3 // Estado para boton liberado +#define FALSE 0 // Estado FALSO +#define TRUE 1 // Estado VERDADERO #define Ticker_Rate 1000 // Periodo de interrupción (us) +#define Baud_Rate 115200 // Velocidad de Transmisión (bauds) /* +------------------------------------------------------------------------------- | Configuración de Puertos +------------------------------------------------------------------------------- */ -//confSysClock(); // Configure system clock (72MHz HSE clock, 48MHz USB clock) Ticker Barrido; // Inicializa la Interrupción por Timer DigitalOut led_monitor(Green_Led); // Inicializa el LED Monitor Serial terminal(PA_2, PA_3); // Inicializa la Comunicación Serial a la PC @@ -135,6 +136,14 @@ led_monitor = 1; // turn the LED off wait_ms(1000); // 1000 millisecond } + +void Setup() +{ +// confSysClock(); // Configure system clock (72MHz HSE clock, 48MHz USB clock) +// terminal.baud(Baud_Rate); // Se configura la velocidad de transmisión e inicia la comunicación serial. + terminal.baud(Baud_Rate); // Se configura la velocidad de transmisión e inicia la comunicación serial. + terminal.printf(" System is Wake Up!.\n\r"); +} /* END functions */ /* END program */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-STM32F103C8T6.lib Thu Sep 05 19:48:05 2019 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/teams/Que-elegancia-la-de-Francia/code/mbed-STM32F103C8T6/#6b69d45b4700
--- a/mbed.bld Wed Jun 26 18:48:46 2019 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.lib Thu Sep 05 19:48:05 2019 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/teams/Que-elegancia-la-de-Francia/code/STM32F103C8_Plantilla_USB/#53b3a37cdf68
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed_app.json Thu Sep 05 19:48:05 2019 +0000 @@ -0,0 +1,9 @@ +{ + "target_overrides": { + "NUCLEO_F103RB": { + "target.clock_source": "USE_PLL_HSE_XTAL", + "target.clock_source_usb": "1", + "target.default_lib": "small" + } + } +}
--- a/stm32f103c8t6.h Wed Jun 26 18:48:46 2019 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -#pragma once - -#ifndef STM32F103C8T6_H -#define STM32F103C8T6_H -#include "stm32f10x.h" -#include "PinNames.h" -#include "SysClockConf.h" - -#endif \ No newline at end of file