Добавлено after 15 minutes 38 seconds:
И вот этот файл stm32f10x.h он не относится к SPL? Это просто заголовочный файл с объявленями?
/**
******************************************************************************
* @file stm32f10x.h
* @author MCD Application Team
* @version V3.5.0
* @date 11-March-2011
* @brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File.
* This file contains all the peripheral register's definitions, bits
* definitions and memory mapping for STM32F10x Connectivity line,
* High density, High density value line, Medium density,
* Medium density Value line, Low density, Low density Value line
* and XL-density devices.
*
* The file is the unique include file that the application programmer
* is using in the C source code, usually in main.c. This file contains:
* - Configuration section that allows to select:
* - The device used in the target application
* - To use or not the peripheral�s drivers in application code(i.e.
* code will be based on direct access to peripheral�s registers
* rather than drivers API), this option is controlled by
* "#define USE_STDPERIPH_DRIVER"
* - To change few application-specific parameters such as the HSE
* crystal frequency
* - Data structures and the address mapping for all peripherals
* - Peripheral's registers declarations and bits definition
* - Macros to access peripheral�s registers hardware
*
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
******************************************************************************
*/
Для каких тогда рукожопов там есть такие строки?VladislavS писал(а):Чтобы такие руко$опы не направили там лишнего.
Код: Выделить всё
[b]/* Uncomment the line below according to the target STM32 device used in your
application
*/[/b]
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
/* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices */
/* #define STM32F10X_LD_VL */ /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */
/* #define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices */
/* #define STM32F10X_MD_VL */ /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */
/* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices */
/* #define STM32F10X_HD_VL */ /*!< STM32F10X_HD_VL: STM32 High density value line devices */
/* #define STM32F10X_XL */ /*!< STM32F10X_XL: STM32 XL-density devices */
/* #define STM32F10X_CL */ /*!< STM32F10X_CL: STM32 Connectivity line devices */
#endif
Т.е. если я использую имена регистров, которые есть в stm32f10x.h, то только эти его строки будут включены в мой скомпилированный файл?VladislavS писал(а):Не вызовешь, линкер их в прошивку не добавит.
Если не хотите помочь, зачем тогда вообще писать?VladislavS писал(а):Может стоит подумать о другом роде деятельности,
Код: Выделить всё
RCC -> CR |= RCC_CR_HSEON;Код: Выделить всё
# include "stm32f10x.h"
void InitAll (void)
{
//RCC->CR = RCC_CR_HSION; // Это я пробовал уже сам включить то, что мне надо
//while (~(RCC->CR & RCC_CR_HSIRDY))
//{
//}
RCC->CFGR = 0x00;
GPIOA->CRL &= ~(GPIO_CRL_CNF0|GPIO_CRL_CNF1|GPIO_CRL_CNF2|GPIO_CRL_CNF3|GPIO_CRL_CNF4|GPIO_CRL_CNF5|GPIO_CRL_CNF6|GPIO_CRL_CNF7); // 7 pins GPIO Out
GPIOA->CRL |= (GPIO_CRL_MODE0_1|GPIO_CRL_MODE1_1|GPIO_CRL_MODE2_1|GPIO_CRL_MODE3_1|GPIO_CRL_MODE4_1|GPIO_CRL_MODE5_1|GPIO_CRL_MODE6_1|GPIO_CRL_MODE7_1); // 7 pins out 2 MHz max
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // GPIOA clock enable
return;
}
int main (void)
{
InitAll ();
GPIOA -> BSRR = (GPIO_BSRR_BS0|GPIO_BSRR_BS2|GPIO_BSRR_BS4|GPIO_BSRR_BS6);
while (1)
{
}
}