ARM_minimal.
Třídy | Definice maker | Definice typů | Výčty | Funkce
Dokumentace souboru io.h

Definice použitých periferií. ...

#include <stdint.h>
#include <stddef.h>
#include "core_cm0.h"

Zobrazit zdrojový text tohoto souboru.

Třídy

class  RCC_Type
 
class  GPIO_Type
 

Definice maker

#define __IO   volatile
 Takhle je to použito v ST library.
 
#define PERIPH_BASE   ((uint32_t) 0x40000000)
 
#define AHBPERIPH_BASE   (PERIPH_BASE + 0x00020000)
 
#define AHB2PERIPH_BASE   (PERIPH_BASE + 0x08000000)
 
#define RCC_BASE   (AHBPERIPH_BASE + 0x00001000)
 
#define GPIOC_BASE   (AHB2PERIPH_BASE + 0x00000800)
 
#define RCC_AHBENR_GPIOCEN   ((uint32_t)0x00080000)
 
#define LEDPORT_BASE   GPIOC_BASE
 
#define LEDCLK_GPIOEN   RCC_AHBENR_GPIOCEN
 
#define LEDPIN   8
 
#define DELAY_TIME   0x40000
 
#define DELAY_SYST   4000000
 
#define __CM0_REV   0
 
#define __MPU_PRESENT   0
 
#define __NVIC_PRIO_BITS   2
 
#define __Vendor_SysTickConfig   0
 
#define NAKED   __attribute__((naked))
 Případně můžeme funkci svléci, pokud ukládá na zásobník automaticky (handler) nebo se nevrací.
 

Definice typů

typedef struct RCC_Type RCC_TypeDef
 přetypování v C pro RCC_Type
 
typedef struct GPIO_Type GPIO_TypeDef
 přetypování v C pro GPIO_Type
 

Výčty

enum  IRQn_Type {
  NonMaskableInt_IRQn = -14, HardFault_IRQn = -13, SVC_IRQn = -5, PendSV_IRQn = -2,
  SysTick_IRQn = -1, WWDG_IRQn = 0, PVD_IRQn = 1, RTC_IRQn = 2,
  FLASH_IRQn = 3, RCC_IRQn = 4, EXTI0_1_IRQn = 5, EXTI2_3_IRQn = 6,
  EXTI4_15_IRQn = 7, TSC_IRQn = 8, DMA1_Channel1_IRQn = 9, DMA1_Channel2_3_IRQn = 10,
  DMA1_Channel4_5_IRQn = 11, ADC1_COMP_IRQn = 12, TIM1_BRK_UP_TRG_COM_IRQn = 13, TIM1_CC_IRQn = 14,
  TIM2_IRQn = 15, TIM3_IRQn = 16, TIM6_DAC_IRQn = 17, TIM14_IRQn = 19,
  TIM15_IRQn = 20, TIM16_IRQn = 21, TIM17_IRQn = 22, I2C1_IRQn = 23,
  I2C2_IRQn = 24, SPI1_IRQn = 25, SPI2_IRQn = 26, USART1_IRQn = 27,
  USART2_IRQn = 28, CEC_CAN_IRQn = 30
}
 Interrupt Numbers. ...
 

Funkce

static void fillram (void)
 Debug stack only.
 

Detailní popis

Definice použitých periferií.

Dokumentace k definicím maker

#define __CM0_REV   0

Core Revision r0p0

#define __MPU_PRESENT   0

STM32F0xx do not provide MPU

#define __NVIC_PRIO_BITS   2

STM32F0xx uses 2 Bits for the Priority Levels

#define __Vendor_SysTickConfig   0

Set to 1 if different SysTick Config is used

#define AHB2PERIPH_BASE   (PERIPH_BASE + 0x08000000)

AHB2 address

#define AHBPERIPH_BASE   (PERIPH_BASE + 0x00020000)

AHB address

#define DELAY_SYST   4000000

Delay pro SysTick, při SystemCoreClock = 8 000 000 Mhz dává přerušení po 0.5 s

#define DELAY_TIME   0x40000

Delay ticks

#define GPIOC_BASE   (AHB2PERIPH_BASE + 0x00000800)

used GPIO address

#define LEDCLK_GPIOEN   RCC_AHBENR_GPIOCEN

renamed RCC_AHBENR_GPIOCEN

#define LEDPIN   8

LED pin no

#define LEDPORT_BASE   GPIOC_BASE

renamed GPIOC_BASE

#define PERIPH_BASE   ((uint32_t) 0x40000000)

Peripheral base address in the alias region

#define RCC_AHBENR_GPIOCEN   ((uint32_t)0x00080000)

GPIOC clock enable

#define RCC_BASE   (AHBPERIPH_BASE + 0x00001000)

RCC address

Dokumentace výčtových typů

enum IRQn_Type

Interrupt Numbers.

Hodnoty výčtu
NonMaskableInt_IRQn 

2 Non Maskable Interrupt

HardFault_IRQn 

3 Cortex-M0 Hard Fault Interrupt

SVC_IRQn 

11 Cortex-M0 SV Call Interrupt

PendSV_IRQn 

14 Cortex-M0 Pend SV Interrupt

SysTick_IRQn 

15 Cortex-M0 System Tick Interrupt

WWDG_IRQn 

Window WatchDog Interrupt

PVD_IRQn 

PVD Interrupt through EXTI Lines 16

RTC_IRQn 

RTC Interrupt through EXTI Lines 17, 19 and 20

FLASH_IRQn 

FLASH global Interrupt

RCC_IRQn 

RCC global Interrupt

EXTI0_1_IRQn 

EXTI Line 0 and 1 Interrupts

EXTI2_3_IRQn 

EXTI Line 2 and 3 Interrupts

EXTI4_15_IRQn 

EXTI Line 4 to 15 Interrupts

TSC_IRQn 

Touch Sensing Controller Interrupts

DMA1_Channel1_IRQn 

DMA1 Channel 1 Interrupt

DMA1_Channel2_3_IRQn 

DMA1 Channel 2 and Channel 3 Interrupts

DMA1_Channel4_5_IRQn 

DMA1 Channel 4 and Channel 5 Interrupts

ADC1_COMP_IRQn 

ADC1 and COMP interrupts (ADC interrupt combined with EXTI Lines 21 and 22

TIM1_BRK_UP_TRG_COM_IRQn 

TIM1 Break, Update, Trigger and Commutation Interrupts

TIM1_CC_IRQn 

TIM1 Capture Compare Interrupt

TIM2_IRQn 

TIM2 global Interrupt

TIM3_IRQn 

TIM3 global Interrupt

TIM6_DAC_IRQn 

TIM6 global and DAC channel underrun error Interrupts

TIM14_IRQn 

TIM14 global Interrupt

TIM15_IRQn 

TIM15 global Interrupt

TIM16_IRQn 

TIM16 global Interrupt

TIM17_IRQn 

TIM17 global Interrupt

I2C1_IRQn 

I2C1 Event Interrupt & EXTI Line23 Interrupt (I2C1 wakeup)

I2C2_IRQn 

I2C2 Event Interrupt

SPI1_IRQn 

SPI1 global Interrupt

SPI2_IRQn 

SPI2 global Interrupt

USART1_IRQn 

USART1 global Interrupt & EXTI Line25 Interrupt (USART1 wakeup)

USART2_IRQn 

USART2 global Interrupt

CEC_CAN_IRQn 

CEC and CAN global Interrupts & EXTI Line27 Interrupt