ATmega328p
Hardware definitions
Loading...
Searching...
No Matches
Config.h
Go to the documentation of this file.
1
5
6
#ifndef ATMEGA328P_DEFINITIONS_CONFIG_H
7
#define ATMEGA328P_DEFINITIONS_CONFIG_H
8
10
#define MCU_ATMEGA328P 1
11
13
#define MCU_HAS_GPIO 1
14
#define MCU_HAS_ADC 1
15
#define MCU_HAS_PWM 1
16
#define MCU_HAS_TIMER0 1
17
#define MCU_HAS_TIMER1 1
18
#define MCU_HAS_TIMER2 1
19
#define MCU_HAS_USART 1
20
#define MCU_HAS_SPI 1
21
#define MCU_HAS_TWI 1
22
#define MCU_HAS_ANALOG_COMPARATOR 1
23
#define MCU_HAS_WATCHDOG 1
24
#define MCU_HAS_EXTERNAL_INTERRUPTS 1
25
#define MCU_HAS_PIN_CHANGE_INTERRUPTS 1
26
#define MCU_HAS_DEBUGWIRE 1
27
#define MCU_HAS_SELF_PROGRAMMABLE_FLASH 1
28
29
#if (defined(MCU_PACKAGE_PDIP28) + defined(MCU_PACKAGE_MLF28) + \
30
defined(MCU_PACKAGE_TQFP32) + defined(MCU_PACKAGE_MLF32)) > 1
31
#error "Select only one MCU package."
32
#endif
33
34
#if (defined(MCU_GRADE_INDUSTRIAL_85C) + \
35
defined(MCU_GRADE_INDUSTRIAL_105C) + \
36
defined(MCU_GRADE_AUTOMOTIVE_125C)) > 1
37
#error "Select only one MCU operating grade."
38
#endif
39
40
#if (defined(MCU_MLF32_PUNCH) + defined(MCU_MLF32_SAWN)) > 1
41
#error "Select only one MLF32 package style."
42
#endif
43
44
#if (defined(MCU_MLF32_PUNCH) || defined(MCU_MLF32_SAWN)) && \
45
!defined(MCU_PACKAGE_MLF32)
46
#error "An MLF32 style requires MCU_PACKAGE_MLF32."
47
#endif
48
49
#if defined(MCU_REQUIRE_PACKAGE) && \
50
!defined(MCU_PACKAGE_PDIP28) && !defined(MCU_PACKAGE_MLF28) && \
51
!defined(MCU_PACKAGE_TQFP32) && !defined(MCU_PACKAGE_MLF32)
52
#error "Select the physical MCU package."
53
#endif
54
55
#if defined(MCU_REQUIRE_GRADE) && \
56
!defined(MCU_GRADE_INDUSTRIAL_85C) && \
57
!defined(MCU_GRADE_INDUSTRIAL_105C) && \
58
!defined(MCU_GRADE_AUTOMOTIVE_125C)
59
#error "Select the MCU operating grade."
60
#endif
61
62
#if defined(MCU_REQUIRE_MLF32_STYLE) && defined(MCU_PACKAGE_MLF32) && \
63
!defined(MCU_MLF32_PUNCH) && !defined(MCU_MLF32_SAWN)
64
#error "Select the MLF32 package style."
65
#endif
66
67
#if defined(MCU_PACKAGE_MLF28) && defined(MCU_GRADE_INDUSTRIAL_105C)
68
#error "The selected MLF28 ordering is not listed for the 105C grade."
69
#endif
70
71
#if defined(MCU_GRADE_AUTOMOTIVE_125C) && \
72
!defined(MCU_PACKAGE_TQFP32) && !defined(MCU_PACKAGE_MLF32)
73
#error "The automotive 125C grade is listed only for 32-terminal packages."
74
#endif
75
76
#endif
include
atmega328p
Config.h
Generated by
1.15.0