STM32LIB
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
stm32Lib
HAL
Include
Config
config.h
Go to the documentation of this file.
1
#pragma once
2
#ifndef CONFIG__STM32LIB_H_INCLUDED
3
#define CONFIG__STM32LIB_H_INCLUDED
4
5
#include <stdint.h>
6
#include "
Peripheral.h
"
7
8
//For the STM32F0
9
#ifdef STM32F0XX
10
11
//#include "RegisterAccess/MCU/HPP/STM32F030.hpp"
12
13
#include "stm32f0xx_conf.h"
14
#include <system_stm32f0xx.h>
15
#include "stm32f0xx.h"
16
17
#include "
MCU/F0/stm32f0xx_syscfg.h
"
18
#include "
MCU/F0/stm32f0xx_exti.h
"
19
20
21
#endif
/* STM32F0XX */
22
23
24
#define BIT_GET(p,m) ((p) & (m))
25
#define BIT_SET(p,m) ((p) |= (m))
26
#define BIT_CLEAR(p,m) ((p) &= ~(m))
27
#define BIT_TOGGLE(p,m) ((p) ^= (m))
28
//#define BIT_WRITE(c,p,m) (c ? bit_set(p,m) : bit_clear(p,m))
29
#define BIT_WRITE(p,m,v) ((p) = ((v << GET_OFFSET(m)) & m))
30
32
#define BIT_MASK(len) ( BIT(len)-1 )
33
#define BF_MASK(start, len) ( BIT_MASK(len)<<(start) )
35
#define BF_PREP(x, start, len) ( ((x)&BIT_MASK(len)) << (start) )
37
#define BF_GET(y, start, len) ( ((y)>>(start)) & BIT_MASK(len) )
39
#define BF_SET(y, x, start, len) ( y= ((y) &~ BF_MASK(start, len)) | BF_PREP(x, start, len) )
41
42
constexpr
static
const
int
Mod37BitPosition
[] =
// map a bit value mod 37 to its position
43
{
44
32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13, 4,
45
7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9, 5,
46
20, 8, 19, 18
47
};
48
49
constexpr
unsigned
long
BIT
(uint8_t bit){
50
return
(
unsigned
long
)0x00000001 << (bit);
51
}
52
53
constexpr
unsigned
long
GET_OFFSET
(uint32_t mask){
54
return
(
Mod37BitPosition
[(-mask & mask) % 37]+1);
55
}
56
57
enum
PeripheralName
{
58
PERIPHERAL_ADC1
,
59
PERIPHERAL_ADC2
,
60
PERIPHERAL_ADC3
,
61
PERIPHERAL_BACKUP
,
62
PERIPHERAL_CRC
,
63
PERIPHERAL_DAC1
,
64
PERIPHERAL_DAC2
,
65
PERIPHERAL_DEBUG
,
66
PERIPHERAL_DMA1
,
67
PERIPHERAL_DMA2
,
68
PERIPHERAL_FLASH
,
69
PERIPHERAL_FSMC
,
70
PERIPHERAL_FMC
,
71
PERIPHERAL_GPIOA
,
72
PERIPHERAL_GPIOB
,
73
PERIPHERAL_GPIOC
,
74
PERIPHERAL_GPIOD
,
75
PERIPHERAL_GPIOE
,
76
PERIPHERAL_GPIOF
,
77
PERIPHERAL_HASH
,
78
PERIPHERAL_I2C1
,
79
PERIPHERAL_I2C2
,
80
PERIPHERAL_I2C3
,
81
PERIPHERAL_I2S2
,
82
PERIPHERAL_I2S3
,
83
PERIPHERAL_MAC
,
84
PERIPHERAL_MAC_REMAP
,
85
PERIPHERAL_OTG_FS
,
86
PERIPHERAL_OTG_HS
,
87
PERIPHERAL_POWER
,
88
PERIPHERAL_RNG
,
89
PERIPHERAL_SDIO
,
90
PERIPHERAL_SPI1
,
91
PERIPHERAL_SPI1_REMAP
,
92
PERIPHERAL_SPI2
,
93
PERIPHERAL_SPI3
,
94
PERIPHERAL_SPI3_REMAP
,
95
PERIPHERAL_SRAM
,
96
PERIPHERAL_SYSCFG
,
97
PERIPHERAL_TIMER1
,
98
PERIPHERAL_TIMER2
,
99
PERIPHERAL_TIMER3
,
100
PERIPHERAL_TIMER4
,
101
PERIPHERAL_TIMER5
,
102
PERIPHERAL_TIMER6
,
103
PERIPHERAL_TIMER7
,
104
PERIPHERAL_TIMER8
,
105
PERIPHERAL_TIMER9
,
106
PERIPHERAL_TIMER10
,
107
PERIPHERAL_TIMER11
,
108
PERIPHERAL_TIMER12
,
109
PERIPHERAL_TIMER13
,
110
PERIPHERAL_TIMER14
,
111
PERIPHERAL_TIMER15
,
112
PERIPHERAL_TIMER16
,
113
PERIPHERAL_TIMER17
,
114
PERIPHERAL_USART1
,
115
PERIPHERAL_USART1_REMAP
,
116
PERIPHERAL_USART2
,
117
PERIPHERAL_USART2_REMAP
,
118
PERIPHERAL_USART3
,
119
PERIPHERAL_USART3_PARTIAL_REMAP
,
120
PERIPHERAL_USART3_FULL_REMAP
,
121
PERIPHERAL_UART4
,
122
PERIPHERAL_UART5
,
123
PERIPHERAL_USART6
,
124
PERIPHERAL_WWD
125
};
126
127
enum
ClockName
{
128
HSI
,
129
HSE
,
130
HSE_EXT
,
131
PLL
,
132
LSI
,
133
LSE
,
134
HSI14
135
};
136
137
138
139
#endif
/* CONFIG__STM32LIB_H_INCLUDED */
140
PERIPHERAL_TIMER8
PERIPHERAL_TIMER8.
Definition:
config.h:104
Mod37BitPosition
static constexpr const int Mod37BitPosition[]
Definition:
config.h:42
PLL
Definition:
config.h:131
HSI
Definition:
config.h:128
PERIPHERAL_USART6
PERIPHERAL_USART6.
Definition:
config.h:123
PERIPHERAL_GPIOF
PERIPHERAL_GPIOF.
Definition:
config.h:76
PERIPHERAL_GPIOB
PERIPHERAL_GPIOB.
Definition:
config.h:72
PERIPHERAL_FLASH
FLASH Interface.
Definition:
config.h:68
LSE
Definition:
config.h:133
GET_OFFSET
constexpr unsigned long GET_OFFSET(uint32_t mask)
Definition:
config.h:53
BIT
constexpr unsigned long BIT(uint8_t bit)
Definition:
config.h:49
ClockName
ClockName
Definition:
config.h:127
PERIPHERAL_USART3_FULL_REMAP
PERIPHERAL_USART3_FULL_REMAP.
Definition:
config.h:120
PERIPHERAL_SRAM
SRAM INTERFACE.
Definition:
config.h:95
PeripheralName
PeripheralName
Definition:
config.h:57
PERIPHERAL_MAC
PERIPHERAL_MAC.
Definition:
config.h:83
PERIPHERAL_WWD
Windows WatchDog.
Definition:
config.h:124
PERIPHERAL_DMA2
PERIPHERAL_DMA2.
Definition:
config.h:67
LSI
Definition:
config.h:132
PERIPHERAL_TIMER12
PERIPHERAL_TIMER12.
Definition:
config.h:108
PERIPHERAL_SDIO
PERIPHERAL_SDIO.
Definition:
config.h:89
PERIPHERAL_TIMER3
PERIPHERAL_TIMER3.
Definition:
config.h:99
PERIPHERAL_FSMC
PERIPHERAL_FSMC.
Definition:
config.h:69
PERIPHERAL_DAC1
PERIPHERAL_DAC1.
Definition:
config.h:63
PERIPHERAL_USART1
PERIPHERAL_USART1.
Definition:
config.h:114
PERIPHERAL_I2S2
PERIPHERAL_I2S2.
Definition:
config.h:81
PERIPHERAL_POWER
PERIPHERAL_POWER.
Definition:
config.h:87
PERIPHERAL_MAC_REMAP
PERIPHERAL_MAC_REMAP.
Definition:
config.h:84
PERIPHERAL_GPIOC
PERIPHERAL_GPIOC.
Definition:
config.h:73
PERIPHERAL_TIMER5
PERIPHERAL_TIMER5.
Definition:
config.h:101
PERIPHERAL_ADC2
PERIPHERAL_ADC2.
Definition:
config.h:59
PERIPHERAL_DEBUG
PERIPHERAL_MCU_DEBUG.
Definition:
config.h:65
Peripheral.h
PERIPHERAL_ADC1
PERIPHERAL_ADC1.
Definition:
config.h:58
PERIPHERAL_FMC
PERIPHERAL_FMC.
Definition:
config.h:70
PERIPHERAL_TIMER16
PERIPHERAL_TIMER16.
Definition:
config.h:112
PERIPHERAL_DAC2
PERIPHERAL_DAC2.
Definition:
config.h:64
PERIPHERAL_GPIOE
PERIPHERAL_GPIOE.
Definition:
config.h:75
PERIPHERAL_OTG_HS
internal OTG HS PHY
Definition:
config.h:86
PERIPHERAL_SPI2
PERIPHERAL_SPI2.
Definition:
config.h:92
PERIPHERAL_TIMER9
PERIPHERAL_TIMER9.
Definition:
config.h:105
PERIPHERAL_TIMER1
PERIPHERAL_TIMER1.
Definition:
config.h:97
PERIPHERAL_TIMER13
PERIPHERAL_TIMER13.
Definition:
config.h:109
PERIPHERAL_SPI1
PERIPHERAL_SPI1.
Definition:
config.h:90
PERIPHERAL_RNG
PERIPHERAL_RNG.
Definition:
config.h:88
PERIPHERAL_I2S3
PERIPHERAL_I2S3.
Definition:
config.h:82
PERIPHERAL_USART3
PERIPHERAL_USART3.
Definition:
config.h:118
PERIPHERAL_ADC3
PERIPHERAL_ADC3.
Definition:
config.h:60
PERIPHERAL_OTG_FS
internal OTG FS PHY
Definition:
config.h:85
PERIPHERAL_USART3_PARTIAL_REMAP
PERIPHERAL_USART3_PARTIAL_REMAP.
Definition:
config.h:119
PERIPHERAL_TIMER14
PERIPHERAL_TIMER14.
Definition:
config.h:110
PERIPHERAL_USART2_REMAP
PERIPHERAL_USART2_REMAP.
Definition:
config.h:117
PERIPHERAL_UART5
PERIPHERAL_UART5.
Definition:
config.h:122
PERIPHERAL_TIMER4
PERIPHERAL_TIMER4.
Definition:
config.h:100
PERIPHERAL_I2C3
PERIPHERAL_I2C3.
Definition:
config.h:80
PERIPHERAL_TIMER10
PERIPHERAL_TIMER10.
Definition:
config.h:106
PERIPHERAL_TIMER2
PERIPHERAL_TIMER2.
Definition:
config.h:98
PERIPHERAL_TIMER17
PERIPHERAL_TIMER17.
Definition:
config.h:113
PERIPHERAL_USART2
PERIPHERAL_USART2.
Definition:
config.h:116
PERIPHERAL_TIMER7
PERIPHERAL_TIMER7.
Definition:
config.h:103
PERIPHERAL_BACKUP
PERIPHERAL_BACKUP.
Definition:
config.h:61
PERIPHERAL_I2C2
PERIPHERAL_I2C2.
Definition:
config.h:79
PERIPHERAL_USART1_REMAP
PERIPHERAL_USART1_REMAP.
Definition:
config.h:115
PERIPHERAL_GPIOD
PERIPHERAL_GPIOD.
Definition:
config.h:74
HSE_EXT
Definition:
config.h:130
stm32f0xx_exti.h
This file contains all the functions prototypes for the EXTI firmware library.
PERIPHERAL_SPI3_REMAP
PERIPHERAL_SPI3_REMAP.
Definition:
config.h:94
PERIPHERAL_SYSCFG
PERIPHERAL_SYSCFG.
Definition:
config.h:96
PERIPHERAL_UART4
PERIPHERAL_UART4.
Definition:
config.h:121
stm32f0xx_syscfg.h
This file contains all the functions prototypes for the SYSCFG firmware library.
PERIPHERAL_TIMER15
PERIPHERAL_TIMER15.
Definition:
config.h:111
PERIPHERAL_DMA1
PERIPHERAL_DMA1.
Definition:
config.h:66
PERIPHERAL_CRC
PERIPHERAL_CRC.
Definition:
config.h:62
HSI14
Definition:
config.h:134
PERIPHERAL_GPIOA
PERIPHERAL_GPIOA.
Definition:
config.h:71
PERIPHERAL_SPI3
PERIPHERAL_SPI3.
Definition:
config.h:93
PERIPHERAL_HASH
PERIPHERAL_HASH.
Definition:
config.h:77
HSE
Definition:
config.h:129
PERIPHERAL_SPI1_REMAP
PERIPHERAL_SPI1_REMAP.
Definition:
config.h:91
PERIPHERAL_TIMER6
PERIPHERAL_TIMER6.
Definition:
config.h:102
PERIPHERAL_TIMER11
PERIPHERAL_TIMER11.
Definition:
config.h:107
PERIPHERAL_I2C1
PERIPHERAL_I2C1.
Definition:
config.h:78
Generated on Mon Sep 21 2015 21:32:22 for STM32LIB by
1.8.9.1