1
0
mirror of https://github.com/AlexGyver/GyverCore.git synced 2025-04-20 19:47:44 +03:00
This commit is contained in:
Alex 2019-08-29 16:52:47 +03:00
parent 1c595d8454
commit ab8c401197
7 changed files with 902 additions and 111 deletions

View File

@ -1,127 +1,133 @@
# See: http://code.google.com/p/arduino/wiki/Platforms ## See: http://code.google.com/p/arduino/wiki/Platforms
menu.cpu=CPU & BOOT
menu.clock=Clock
menu.timers=Timers
######################
nano.name=ATmega328/168 based
nano.upload.tool=avrdude
nano.upload.protocol=arduino
nano.bootloader.tool=avrdude
nano.bootloader.unlock_bits=0x3F
nano.bootloader.lock_bits=0x0F
nano.build.board=AVR_NANO
nano.build.core=arduino
## почему у оптибута неправильно стоят фьюзы? https://github.com/arduino/ArduinoCore-avr/issues/10 ## почему у оптибута неправильно стоят фьюзы? https://github.com/arduino/ArduinoCore-avr/issues/10
## optiboot v4
## timer0 OVF ON/OFF menu.clock=Clock
## -------------------------- menu.timers=System timer
nano.menu.timers.yes_millis=with millis
nano.menu.timers.yes_millis.build.variant=yesmillis
nano.menu.timers.no_millis=without millis ########################
nano.menu.timers.no_millis.build.variant=nomillis ## 328 old bootloader ##
########################
nanoOld.name=ATmega328 (old bootloader)
nanoOld.upload.tool=avrdude
nanoOld.upload.protocol=arduino
nanoOld.bootloader.tool=avrdude
nanoOld.bootloader.unlock_bits=0x3F
nanoOld.bootloader.lock_bits=0x0F
nanoOld.build.board=AVR_NANO
nanoOld.build.core=arduino
## Clock nanoOld.upload.maximum_size=30720
## -------------------------- nanoOld.upload.maximum_data_size=2048
nano.menu.clock.clock16=16 MHz clock nanoOld.upload.speed=57600
nano.menu.clock.clock16.build.f_cpu=16000000L nanoOld.bootloader.high_fuses=0xDA
nanoOld.bootloader.extended_fuses=0xFD
nanoOld.build.mcu=atmega328p
nano.menu.clock.clock8=8 MHz clock nanoOld.menu.clock.external_16=External 16 MHz
nano.menu.clock.clock8.build.f_cpu=8000000L nanoOld.menu.clock.external_16.bootloader.low_fuses=0xFF
nanoOld.menu.clock.external_16.build.f_cpu=16000000L
nanoOld.menu.clock.external_16.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
nanoOld.menu.clock.external_8=External 8 MHz
nanoOld.menu.clock.external_8.bootloader.low_fuses=0xFF
nanoOld.menu.clock.external_8.build.f_cpu=8000000L
nanoOld.menu.clock.external_8.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
nanoOld.menu.clock.internal_8=Internal 8 MHz
nanoOld.menu.clock.internal_8.bootloader.low_fuses=0xD2
nanoOld.menu.clock.internal_8.build.f_cpu=8000000L
nanoOld.menu.clock.internal_8.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
nanoOld.menu.timers.yes_millis=millis enabled
nanoOld.menu.timers.yes_millis.build.variant=yesmillis
nanoOld.menu.timers.no_millis=millis disabled
nanoOld.menu.timers.no_millis.build.variant=nomillis
## ATmega328P - optiBoot ##################
## -------------------------- ## 328 optiBoot ##
nano.menu.cpu.atmega328=ATmega328P - optiBoot ##################
nanoOpti.name=ATmega328 (optiboot)
nanoOpti.upload.tool=avrdude
nanoOpti.upload.protocol=arduino
nanoOpti.bootloader.tool=avrdude
nanoOpti.bootloader.unlock_bits=0x3F
nanoOpti.bootloader.lock_bits=0x0F
nanoOpti.build.board=AVR_NANO
nanoOpti.build.core=arduino
##nano.menu.cpu.atmega328.upload.maximum_size=32256 nanoOpti.upload.maximum_size=30720
nano.menu.cpu.atmega328.upload.maximum_size=30720 nanoOpti.upload.maximum_data_size=2048
nano.menu.cpu.atmega328.upload.maximum_data_size=2048 nanoOpti.upload.speed=115200
nano.menu.cpu.atmega328.upload.speed=115200 nanoOpti.bootloader.high_fuses=0xDA
nanoOpti.bootloader.extended_fuses=0xFD
nanoOpti.build.mcu=atmega328p
nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF nanoOpti.menu.clock.external_16=External 16 MHz
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA nanoOpti.menu.clock.external_16.bootloader.low_fuses=0xFF
##nano.menu.cpu.atmega328.bootloader.high_fuses=0xDE nanoOpti.menu.clock.external_16.build.f_cpu=16000000L
nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD nanoOpti.menu.clock.external_16.bootloader.file=optiboot/optiboot_atmega328.hex
nano.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
nano.menu.cpu.atmega328.build.mcu=atmega328p nanoOpti.menu.clock.external_8=External 8 MHz
nanoOpti.menu.clock.external_8.bootloader.low_fuses=0xFF
nanoOpti.menu.clock.external_8.build.f_cpu=8000000L
nanoOpti.menu.clock.external_8.bootloader.file=optiboot/optiboot_atmega328_pro_8MHz.hex
## ATmega328P - old bootloader nanoOpti.menu.clock.internal_8=Internal 8 MHz
## -------------------------- nanoOpti.menu.clock.internal_8.bootloader.low_fuses=0xD2
nano.menu.cpu.atmega328old=ATmega328P - old bootloader nanoOpti.menu.clock.internal_8.build.f_cpu=8000000L
nanoOpti.menu.clock.internal_8.bootloader.file=optiboot/optiboot_atmega328_pro_8MHz.hex
nano.menu.cpu.atmega328old.upload.maximum_size=30720 nanoOpti.menu.timers.yes_millis=millis enabled
nano.menu.cpu.atmega328old.upload.maximum_data_size=2048 nanoOpti.menu.timers.yes_millis.build.variant=yesmillis
nano.menu.cpu.atmega328old.upload.speed=57600 nanoOpti.menu.timers.no_millis=millis disabled
nanoOpti.menu.timers.no_millis.build.variant=nomillis
nano.menu.cpu.atmega328old.bootloader.low_fuses=0xFF #######################
nano.menu.cpu.atmega328old.bootloader.high_fuses=0xDA ## 328 no bootloader ##
nano.menu.cpu.atmega328old.bootloader.extended_fuses=0xFD #######################
nano.menu.cpu.atmega328old.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex nanoWB.name=ATmega328 (without bootloader)
nanoWB.upload.tool=avrdude
nanoWB.upload.protocol=arduino
nanoWB.bootloader.tool=avrdude
nanoWB.bootloader.unlock_bits=0x3F
nanoWB.bootloader.lock_bits=0x0F
nanoWB.build.board=AVR_NANO
nanoWB.build.core=arduino
nano.menu.cpu.atmega328old.build.mcu=atmega328p nanoWB.upload.maximum_size=32768
nanoWB.upload.maximum_data_size=2048
nanoWB.bootloader.high_fuses=0xDF
nanoWB.bootloader.extended_fuses=0xFD
nanoWB.build.mcu=atmega328p
## ATmega328P - NO bootloader nanoWB.menu.clock.external_16=External 16 MHz
## -------------------------- nanoWB.menu.clock.external_16.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328noBoot=ATmega328P - without bootloader nanoWB.menu.clock.external_16.build.f_cpu=16000000L
nanoWB.menu.clock.external_16.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
nano.menu.cpu.atmega328noBoot.upload.maximum_size=32768 nanoWB.menu.clock.external_8=External 8 MHz
nano.menu.cpu.atmega328noBoot.upload.maximum_data_size=2048 nanoWB.menu.clock.external_8.bootloader.low_fuses=0xFF
nanoWB.menu.clock.external_8.build.f_cpu=8000000L
nanoWB.menu.clock.external_8.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
nano.menu.cpu.atmega328noBoot.bootloader.low_fuses=0xFF nanoWB.menu.clock.internal_8=Internal 8 MHz
nano.menu.cpu.atmega328noBoot.bootloader.high_fuses=0xDF nanoWB.menu.clock.internal_8.bootloader.low_fuses=0xD2
nano.menu.cpu.atmega328noBoot.bootloader.extended_fuses=0xFD nanoWB.menu.clock.internal_8.build.f_cpu=8000000L
nanoWB.menu.clock.internal_8.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
nano.menu.cpu.atmega328noBoot.build.mcu=atmega328p nanoWB.menu.clock.internal_1=Internal 1 MHz
nanoWB.menu.clock.internal_1.bootloader.low_fuses=0x52
nanoWB.menu.clock.internal_1.build.f_cpu=1000000L
nanoWB.menu.clock.internal_1.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
## ATmega168 - optiBoot nanoWB.menu.clock.internal_128=Internal 128 kHz
## ------------------------- nanoWB.menu.clock.internal_128.bootloader.low_fuses=0xD3
nano.menu.cpu.atmega168=ATmega168 - optiBoot nanoWB.menu.clock.internal_128.build.f_cpu=128000L
nanoWB.menu.clock.internal_128.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
nano.menu.cpu.atmega168.upload.maximum_size=14336 nanoWB.menu.timers.yes_millis=millis enabled
##nano.menu.cpu.atmega168.upload.maximum_size=15360 nanoWB.menu.timers.yes_millis.build.variant=yesmillis
nano.menu.cpu.atmega168.upload.maximum_data_size=1024 nanoWB.menu.timers.no_millis=millis disabled
nano.menu.cpu.atmega168.upload.speed=115200 nanoWB.menu.timers.no_millis.build.variant=nomillis
nano.menu.cpu.atmega168.bootloader.low_fuses=0xff
nano.menu.cpu.atmega168.bootloader.high_fuses=0xdd
nano.menu.cpu.atmega168.bootloader.extended_fuses=0xF8
##nano.menu.cpu.atmega168.bootloader.extended_fuses=0xFE
nano.menu.cpu.atmega168.bootloader.file=optiboot/optiboot_atmega168.hex
nano.menu.cpu.atmega168.build.mcu=atmega168
## ATmega168 - old bootloader
## -------------------------
nano.menu.cpu.atmega168old=ATmega168 - old bootloader
nano.menu.cpu.atmega168old.upload.maximum_size=14336
nano.menu.cpu.atmega168old.upload.maximum_data_size=1024
nano.menu.cpu.atmega168old.upload.speed=19200
nano.menu.cpu.atmega168old.bootloader.low_fuses=0xff
nano.menu.cpu.atmega168old.bootloader.high_fuses=0xdd
nano.menu.cpu.atmega168old.bootloader.extended_fuses=0xF8
nano.menu.cpu.atmega168old.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex
nano.menu.cpu.atmega168old.build.mcu=atmega168
## ATmega168 - NO bootloader
## -------------------------
nano.menu.cpu.atmega168noBoot=ATmega168 - without bootloader
nano.menu.cpu.atmega168noBoot.upload.maximum_size=16144
nano.menu.cpu.atmega168noBoot.upload.maximum_data_size=1024
nano.menu.cpu.atmega168noBoot.bootloader.low_fuses=0xff
nano.menu.cpu.atmega168noBoot.bootloader.high_fuses=0xdd
nano.menu.cpu.atmega168noBoot.bootloader.extended_fuses=0xff
nano.menu.cpu.atmega168noBoot.build.mcu=atmega168

View File

@ -0,0 +1,35 @@
:107E0000112484B714BE81FFF0D085E080938100F7
:107E100082E08093C00088E18093C10086E0809377
:107E2000C20088E08093C4008EE0C9D0259A86E025
:107E300028E13EEF91E0309385002093840096BBCB
:107E4000B09BFECF1D9AA8958150A9F7CC24DD24C4
:107E500088248394B5E0AB2EA1E19A2EF3E0BF2EE7
:107E6000A2D0813461F49FD0082FAFD0023811F036
:107E7000013811F484E001C083E08DD089C08234E0
:107E800011F484E103C0853419F485E0A6D080C0E4
:107E9000853579F488D0E82EFF2485D0082F10E0AE
:107EA000102F00270E291F29000F111F8ED06801E7
:107EB0006FC0863521F484E090D080E0DECF843638
:107EC00009F040C070D06FD0082F6DD080E0C81688
:107ED00080E7D80618F4F601B7BEE895C0E0D1E017
:107EE00062D089930C17E1F7F0E0CF16F0E7DF06D8
:107EF00018F0F601B7BEE89568D007B600FCFDCFD4
:107F0000A601A0E0B1E02C9130E011968C91119780
:107F100090E0982F8827822B932B1296FA010C0160
:107F200087BEE89511244E5F5F4FF1E0A038BF0790
:107F300051F7F601A7BEE89507B600FCFDCF97BE46
:107F4000E89526C08437B1F42ED02DD0F82E2BD052
:107F50003CD0F601EF2C8F010F5F1F4F84911BD097
:107F6000EA94F801C1F70894C11CD11CFA94CF0C13
:107F7000D11C0EC0853739F428D08EE10CD085E9AC
:107F80000AD08FE07ACF813511F488E018D01DD067
:107F900080E101D065CF982F8091C00085FFFCCF94
:107FA0009093C60008958091C00087FFFCCF809118
:107FB000C00084FD01C0A8958091C6000895E0E648
:107FC000F0E098E1908380830895EDDF803219F02E
:107FD00088E0F5DFFFCF84E1DECF1F93182FE3DFCA
:107FE0001150E9F7F2DF1F91089580E0E8DFEE27F6
:047FF000FF270994CA
:027FFE00040479
:0400000300007E007B
:00000001FF

View File

@ -23,7 +23,7 @@ void pinMode(uint8_t pin, uint8_t mode)
case 2: // in_pullup case 2: // in_pullup
if (pin < 8) { if (pin < 8) {
bitWrite(DDRD, pin, 0); // настраиваем как вх bitWrite(DDRD, pin, 0); // настраиваем как вх
bitWrite(PORTD, pin, 0); // вкл подтяжку bitWrite(PORTD, pin, 1); // вкл подтяжку
} }
else if (pin < 14) { else if (pin < 14) {
bitWrite(DDRB, (pin - 8), 0); bitWrite(DDRB, (pin - 8), 0);

View File

@ -22,6 +22,13 @@
#define FRACT_MAX 125 #define FRACT_MAX 125
#define MICROS_MULT 8 #define MICROS_MULT 8
#elif F_CPU >= 1000000L
#define MILLIS_INC 16
#define FRACT_INC 48
#define FRACT_MAX 125
#define MICROS_MULT 64
#endif #endif
volatile unsigned long timer0_overflow_count = 0; volatile unsigned long timer0_overflow_count = 0;
@ -83,6 +90,11 @@ void delayMicroseconds(unsigned int us) // работает на счете ти
if (us <= 2) return; // = 3 cycles, (4 when true) if (us <= 2) return; // = 3 cycles, (4 when true)
us <<= 1; //x2 us, = 2 cycles us <<= 1; //x2 us, = 2 cycles
us -= 4; // = 2 cycles us -= 4; // = 2 cycles
#elif F_CPU >= 1000000L
if (us <= 16) return; //= 3 cycles, (4 when true)
if (us <= 25) return; //= 3 cycles, (4 when true)
us -= 22; // = 2 cycles
us >>= 2; // us div 4, = 4 cycles
#endif #endif
// busy wait // busy wait
__asm__ __volatile__ ( __asm__ __volatile__ (

View File

@ -37,6 +37,96 @@ uartReadString KEYWORD2
uartParseFloat KEYWORD2 uartParseFloat KEYWORD2
uartParsePacket KEYWORD2 uartParsePacket KEYWORD2
ISR KEYWORD2
UDR0 KEYWORD2
UBRR0H KEYWORD2
UBRR0L KEYWORD2
UCSR0C KEYWORD2
UCSR0B KEYWORD2
UCSR0A KEYWORD2
TWAMR KEYWORD2
TWCR KEYWORD2
TWDR KEYWORD2
TWAR KEYWORD2
TWSR KEYWORD2
TWBR KEYWORD2
ASSR KEYWORD2
OCR2B KEYWORD2
OCR2A KEYWORD2
TCNT2 KEYWORD2
TCCR2B KEYWORD2
TCCR2A KEYWORD2
OCR1BH KEYWORD2
OCR1BL KEYWORD2
OCR1AH KEYWORD2
OCR1AL KEYWORD2
ICR1H KEYWORD2
ICR1L KEYWORD2
TCNT1H KEYWORD2
TCNT1L KEYWORD2
TCCR1C KEYWORD2
TCCR1B KEYWORD2
TCCR1A KEYWORD2
DIDR1 KEYWORD2
DIDR0 KEYWORD2
ADMUX KEYWORD2
ADCSRB KEYWORD2
ADCSRA KEYWORD2
ADCH KEYWORD2
ADCL KEYWORD2
TIMSK2 KEYWORD2
TIMSK1 KEYWORD2
TIMSK0 KEYWORD2
PCMSK2 KEYWORD2
PCMSK1 KEYWORD2
PCMSK0 KEYWORD2
EICRA KEYWORD2
PCICR KEYWORD2
OSCCAL KEYWORD2
PRR KEYWORD2
CLKPR KEYWORD2
WDTCSR KEYWORD2
SREG KEYWORD2
SPH KEYWORD2
SPL KEYWORD2
SPMCSR KEYWORD2
MCUCR KEYWORD2
MCUSR KEYWORD2
SMCR KEYWORD2
ACSR KEYWORD2
SPDR KEYWORD2
SPSR KEYWORD2
SPCR KEYWORD2
GPIOR2 KEYWORD2
GPIOR1 KEYWORD2
OCR0B KEYWORD2
OCR0A KEYWORD2
TCNT0 KEYWORD2
TCCR0B KEYWORD2
TCCR0A KEYWORD2
GTCCR KEYWORD2
EEARH KEYWORD2
EEARL KEYWORD2
EEDR KEYWORD2
EECR KEYWORD2
GPIOR0 KEYWORD2
EIMSK KEYWORD2
EIFR KEYWORD2
PCIFR KEYWORD2
TIFR2 KEYWORD2
TIFR1 KEYWORD2
TIFR0 KEYWORD2
PORTD KEYWORD2
DDRD KEYWORD2
PIND KEYWORD2
PORTC KEYWORD2
DDRC KEYWORD2
PINC KEYWORD2
PORTB KEYWORD2
DDRB KEYWORD2
PINB KEYWORD2
###################################### ######################################
# Constants (LITERAL1) # Constants (LITERAL1)
####################################### #######################################
@ -56,3 +146,626 @@ A5 LITERAL1
A6 LITERAL1 A6 LITERAL1
A7 LITERAL1 A7 LITERAL1
RESET_vect LITERAL1
INT0_vect LITERAL1
INT1_vect LITERAL1
PCINT0_vect LITERAL1
PCINT1_vect LITERAL1
PCINT2_vect LITERAL1
WDT_vect LITERAL1
TIMER2_COMPA_vect LITERAL1
TIMER2_COMPB_vect LITERAL1
TIMER2_OVF_vect LITERAL1
TIMER1_COMPA_vect LITERAL1
TIMER1_COMPB_vect LITERAL1
TIMER1_OVF_vect LITERAL1
TIMER1_CAPT_vect LITERAL1
TIMER0_COMPA_vect LITERAL1
TIMER0_COMPB_vect LITERAL1
TIMER0_OVF_vect LITERAL1
SPI_STC_vect LITERAL1
USART_RX_vect LITERAL1
USART_UDRE_vect LITERAL1
USART_TX_vect LITERAL1
ADC_vect LITERAL1
EE_READY_vect LITERAL1
ANALOG_COMP_vect LITERAL1
TWI_vect LITERAL1
SPM_READY_vect LITERAL1
PD0 LITERAL1
PD1 LITERAL1
PD2 LITERAL1
PD3 LITERAL1
PD4 LITERAL1
PD5 LITERAL1
PD6 LITERAL1
PD7 LITERAL1
PC0 LITERAL1
PC1 LITERAL1
PC2 LITERAL1
PC3 LITERAL1
PC4 LITERAL1
PC5 LITERAL1
PC6 LITERAL1
PC7 LITERAL1
PB0 LITERAL1
PB1 LITERAL1
PB2 LITERAL1
PB3 LITERAL1
PB4 LITERAL1
PB5 LITERAL1
PB6 LITERAL1
PB7 LITERAL1
PINB0 LITERAL1
PINB1 LITERAL1
PINB2 LITERAL1
PINB3 LITERAL1
PINB4 LITERAL1
PINB5 LITERAL1
PINB6 LITERAL1
PINB7 LITERAL1
DDB0 LITERAL1
DDB1 LITERAL1
DDB2 LITERAL1
DDB3 LITERAL1
DDB4 LITERAL1
DDB5 LITERAL1
DDB6 LITERAL1
DDB7 LITERAL1
PORTB0 LITERAL1
PORTB1 LITERAL1
PORTB2 LITERAL1
PORTB3 LITERAL1
PORTB4 LITERAL1
PORTB5 LITERAL1
PORTB6 LITERAL1
PORTB7 LITERAL1
PINC0 LITERAL1
PINC1 LITERAL1
PINC2 LITERAL1
PINC3 LITERAL1
PINC4 LITERAL1
PINC5 LITERAL1
PINC6 LITERAL1
DDC0 LITERAL1
DDC1 LITERAL1
DDC2 LITERAL1
DDC3 LITERAL1
DDC4 LITERAL1
DDC5 LITERAL1
DDC6 LITERAL1
PORTC0 LITERAL1
PORTC1 LITERAL1
PORTC2 LITERAL1
PORTC3 LITERAL1
PORTC4 LITERAL1
PORTC5 LITERAL1
PORTC6 LITERAL1
PIND0 LITERAL1
PIND1 LITERAL1
PIND2 LITERAL1
PIND3 LITERAL1
PIND4 LITERAL1
PIND5 LITERAL1
PIND6 LITERAL1
PIND7 LITERAL1
DDD0 LITERAL1
DDD1 LITERAL1
DDD2 LITERAL1
DDD3 LITERAL1
DDD4 LITERAL1
DDD5 LITERAL1
DDD6 LITERAL1
DDD7 LITERAL1
PORTD0 LITERAL1
PORTD1 LITERAL1
PORTD2 LITERAL1
PORTD3 LITERAL1
PORTD4 LITERAL1
PORTD5 LITERAL1
PORTD6 LITERAL1
PORTD7 LITERAL1
TOV0 LITERAL1
OCF0A LITERAL1
OCF0B LITERAL1
TOV1 LITERAL1
OCF1A LITERAL1
OCF1B LITERAL1
ICF1 LITERAL1
TOV2 LITERAL1
OCF2A LITERAL1
OCF2B LITERAL1
PCIF0 LITERAL1
PCIF1 LITERAL1
PCIF2 LITERAL1
INTF0 LITERAL1
INTF1 LITERAL1
INT0 LITERAL1
INT1 LITERAL1
GPIOR00 LITERAL1
GPIOR01 LITERAL1
GPIOR02 LITERAL1
GPIOR03 LITERAL1
GPIOR04 LITERAL1
GPIOR05 LITERAL1
GPIOR06 LITERAL1
GPIOR07 LITERAL1
EERE LITERAL1
EEPE LITERAL1
EEMPE LITERAL1
EERIE LITERAL1
EEPM0 LITERAL1
EEPM1 LITERAL1
EEDR0 LITERAL1
EEDR1 LITERAL1
EEDR2 LITERAL1
EEDR3 LITERAL1
EEDR4 LITERAL1
EEDR5 LITERAL1
EEDR6 LITERAL1
EEDR7 LITERAL1
EEAR0 LITERAL1
EEAR1 LITERAL1
EEAR2 LITERAL1
EEAR3 LITERAL1
EEAR4 LITERAL1
EEAR5 LITERAL1
EEAR6 LITERAL1
EEAR7 LITERAL1
EEAR8 LITERAL1
EEAR9 LITERAL1
PSRSYNC LITERAL1
PSRASY LITERAL1
TSM LITERAL1
WGM00 LITERAL1
WGM01 LITERAL1
COM0B0 LITERAL1
COM0B1 LITERAL1
COM0A0 LITERAL1
COM0A1 LITERAL1
CS00 LITERAL1
CS01 LITERAL1
CS02 LITERAL1
WGM02 LITERAL1
FOC0B LITERAL1
FOC0A LITERAL1
TCNT0_0 LITERAL1
TCNT0_1 LITERAL1
TCNT0_2 LITERAL1
TCNT0_3 LITERAL1
TCNT0_4 LITERAL1
TCNT0_5 LITERAL1
TCNT0_6 LITERAL1
TCNT0_7 LITERAL1
OCR0A_0 LITERAL1
OCR0A_1 LITERAL1
OCR0A_2 LITERAL1
OCR0A_3 LITERAL1
OCR0A_4 LITERAL1
OCR0A_5 LITERAL1
OCR0A_6 LITERAL1
OCR0A_7 LITERAL1
OCR0B_0 LITERAL1
OCR0B_1 LITERAL1
OCR0B_2 LITERAL1
OCR0B_3 LITERAL1
OCR0B_4 LITERAL1
OCR0B_5 LITERAL1
OCR0B_6 LITERAL1
OCR0B_7 LITERAL1
GPIOR10 LITERAL1
GPIOR11 LITERAL1
GPIOR12 LITERAL1
GPIOR13 LITERAL1
GPIOR14 LITERAL1
GPIOR15 LITERAL1
GPIOR16 LITERAL1
GPIOR17 LITERAL1
GPIOR20 LITERAL1
GPIOR21 LITERAL1
GPIOR22 LITERAL1
GPIOR23 LITERAL1
GPIOR24 LITERAL1
GPIOR25 LITERAL1
GPIOR26 LITERAL1
GPIOR27 LITERAL1
SPR0 LITERAL1
SPR1 LITERAL1
CPHA LITERAL1
CPOL LITERAL1
MSTR LITERAL1
DORD LITERAL1
SPE LITERAL1
SPIE LITERAL1
SPI2X LITERAL1
WCOL LITERAL1
SPIF LITERAL1
SPDR0 LITERAL1
SPDR1 LITERAL1
SPDR2 LITERAL1
SPDR3 LITERAL1
SPDR4 LITERAL1
SPDR5 LITERAL1
SPDR6 LITERAL1
SPDR7 LITERAL1
ACIS0 LITERAL1
ACIS1 LITERAL1
ACIC LITERAL1
ACIE LITERAL1
ACI LITERAL1
ACO LITERAL1
ACBG LITERAL1
ACD LITERAL1
SE LITERAL1
SM0 LITERAL1
SM1 LITERAL1
SM2 LITERAL1
PORF LITERAL1
EXTRF LITERAL1
BORF LITERAL1
WDRF LITERAL1
IVCE LITERAL1
IVSEL LITERAL1
PUD LITERAL1
BODSE LITERAL1
BODS LITERAL1
SPMEN LITERAL1
PGERS LITERAL1
PGWRT LITERAL1
BLBSET LITERAL1
RWWSRE LITERAL1
SIGRD LITERAL1
RWWSB LITERAL1
SPMIE LITERAL1
WDP0 LITERAL1
WDP1 LITERAL1
WDP2 LITERAL1
WDE LITERAL1
WDCE LITERAL1
WDP3 LITERAL1
WDIE LITERAL1
WDIF LITERAL1
CLKPS0 LITERAL1
CLKPS1 LITERAL1
CLKPS2 LITERAL1
CLKPS3 LITERAL1
CLKPCE LITERAL1
PRADC LITERAL1
PRUSART0 LITERAL1
PRSPI LITERAL1
PRTIM1 LITERAL1
PRTIM0 LITERAL1
PRTIM2 LITERAL1
PRTWI LITERAL1
CAL0 LITERAL1
CAL1 LITERAL1
CAL2 LITERAL1
CAL3 LITERAL1
CAL4 LITERAL1
CAL5 LITERAL1
CAL6 LITERAL1
CAL7 LITERAL1
PCIE0 LITERAL1
PCIE1 LITERAL1
PCIE2 LITERAL1
ISC00 LITERAL1
ISC01 LITERAL1
ISC10 LITERAL1
ISC11 LITERAL1
PCINT0 LITERAL1
PCINT1 LITERAL1
PCINT2 LITERAL1
PCINT3 LITERAL1
PCINT4 LITERAL1
PCINT5 LITERAL1
PCINT6 LITERAL1
PCINT7 LITERAL1
PCINT8 LITERAL1
PCINT9 LITERAL1
PCINT10 LITERAL1
PCINT11 LITERAL1
PCINT12 LITERAL1
PCINT13 LITERAL1
PCINT14 LITERAL1
PCINT16 LITERAL1
PCINT17 LITERAL1
PCINT18 LITERAL1
PCINT19 LITERAL1
PCINT20 LITERAL1
PCINT21 LITERAL1
PCINT22 LITERAL1
PCINT23 LITERAL1
TOIE0 LITERAL1
OCIE0A LITERAL1
OCIE0B LITERAL1
TOIE1 LITERAL1
OCIE1A LITERAL1
OCIE1B LITERAL1
ICIE1 LITERAL1
TOIE2 LITERAL1
OCIE2A LITERAL1
OCIE2B LITERAL1
ADCL0 LITERAL1
ADCL1 LITERAL1
ADCL2 LITERAL1
ADCL3 LITERAL1
ADCL4 LITERAL1
ADCL5 LITERAL1
ADCL6 LITERAL1
ADCL7 LITERAL1
ADCH0 LITERAL1
ADCH1 LITERAL1
ADCH2 LITERAL1
ADCH3 LITERAL1
ADCH4 LITERAL1
ADCH5 LITERAL1
ADCH6 LITERAL1
ADCH7 LITERAL1
ADPS0 LITERAL1
ADPS1 LITERAL1
ADPS2 LITERAL1
ADIE LITERAL1
ADIF LITERAL1
ADATE LITERAL1
ADSC LITERAL1
ADEN LITERAL1
ADTS0 LITERAL1
ADTS1 LITERAL1
ADTS2 LITERAL1
ACME LITERAL1
MUX0 LITERAL1
MUX1 LITERAL1
MUX2 LITERAL1
MUX3 LITERAL1
ADLAR LITERAL1
REFS0 LITERAL1
REFS1 LITERAL1
ADC0D LITERAL1
ADC1D LITERAL1
ADC2D LITERAL1
ADC3D LITERAL1
ADC4D LITERAL1
ADC5D LITERAL1
AIN0D LITERAL1
AIN1D LITERAL1
WGM10 LITERAL1
WGM11 LITERAL1
COM1B0 LITERAL1
COM1B1 LITERAL1
COM1A0 LITERAL1
COM1A1 LITERAL1
CS10 LITERAL1
CS11 LITERAL1
CS12 LITERAL1
WGM12 LITERAL1
WGM13 LITERAL1
ICES1 LITERAL1
ICNC1 LITERAL1
FOC1B LITERAL1
FOC1A LITERAL1
TCNT1L0 LITERAL1
TCNT1L1 LITERAL1
TCNT1L2 LITERAL1
TCNT1L3 LITERAL1
TCNT1L4 LITERAL1
TCNT1L5 LITERAL1
TCNT1L6 LITERAL1
TCNT1L7 LITERAL1
TCNT1H0 LITERAL1
TCNT1H1 LITERAL1
TCNT1H2 LITERAL1
TCNT1H3 LITERAL1
TCNT1H4 LITERAL1
TCNT1H5 LITERAL1
TCNT1H6 LITERAL1
TCNT1H7 LITERAL1
ICR1L0 LITERAL1
ICR1L1 LITERAL1
ICR1L2 LITERAL1
ICR1L3 LITERAL1
ICR1L4 LITERAL1
ICR1L5 LITERAL1
ICR1L6 LITERAL1
ICR1L7 LITERAL1
ICR1H0 LITERAL1
ICR1H1 LITERAL1
ICR1H2 LITERAL1
ICR1H3 LITERAL1
ICR1H4 LITERAL1
ICR1H5 LITERAL1
ICR1H6 LITERAL1
ICR1H7 LITERAL1
OCR1AL0 LITERAL1
OCR1AL1 LITERAL1
OCR1AL2 LITERAL1
OCR1AL3 LITERAL1
OCR1AL4 LITERAL1
OCR1AL5 LITERAL1
OCR1AL6 LITERAL1
OCR1AL7 LITERAL1
OCR1AH0 LITERAL1
OCR1AH1 LITERAL1
OCR1AH2 LITERAL1
OCR1AH3 LITERAL1
OCR1AH4 LITERAL1
OCR1AH5 LITERAL1
OCR1AH6 LITERAL1
OCR1AH7 LITERAL1
OCR1BL0 LITERAL1
OCR1BL1 LITERAL1
OCR1BL2 LITERAL1
OCR1BL3 LITERAL1
OCR1BL4 LITERAL1
OCR1BL5 LITERAL1
OCR1BL6 LITERAL1
OCR1BL7 LITERAL1
OCR1BH0 LITERAL1
OCR1BH1 LITERAL1
OCR1BH2 LITERAL1
OCR1BH3 LITERAL1
OCR1BH4 LITERAL1
OCR1BH5 LITERAL1
OCR1BH6 LITERAL1
OCR1BH7 LITERAL1
WGM20 LITERAL1
WGM21 LITERAL1
COM2B0 LITERAL1
COM2B1 LITERAL1
COM2A0 LITERAL1
COM2A1 LITERAL1
CS20 LITERAL1
CS21 LITERAL1
CS22 LITERAL1
WGM22 LITERAL1
FOC2B LITERAL1
FOC2A LITERAL1
TCNT2_0 LITERAL1
TCNT2_1 LITERAL1
TCNT2_2 LITERAL1
TCNT2_3 LITERAL1
TCNT2_4 LITERAL1
TCNT2_5 LITERAL1
TCNT2_6 LITERAL1
TCNT2_7 LITERAL1
OCR2_0 LITERAL1
OCR2_1 LITERAL1
OCR2_2 LITERAL1
OCR2_3 LITERAL1
OCR2_4 LITERAL1
OCR2_5 LITERAL1
OCR2_6 LITERAL1
OCR2_7 LITERAL1
OCR2_0 LITERAL1
OCR2_1 LITERAL1
OCR2_2 LITERAL1
OCR2_3 LITERAL1
OCR2_4 LITERAL1
OCR2_5 LITERAL1
OCR2_6 LITERAL1
OCR2_7 LITERAL1
TCR2BUB LITERAL1
TCR2AUB LITERAL1
OCR2BUB LITERAL1
OCR2AUB LITERAL1
TCN2UB LITERAL1
AS2 LITERAL1
EXCLK LITERAL1
TWBR0 LITERAL1
TWBR1 LITERAL1
TWBR2 LITERAL1
TWBR3 LITERAL1
TWBR4 LITERAL1
TWBR5 LITERAL1
TWBR6 LITERAL1
TWBR7 LITERAL1
TWPS0 LITERAL1
TWPS1 LITERAL1
TWS3 LITERAL1
TWS4 LITERAL1
TWS5 LITERAL1
TWS6 LITERAL1
TWS7 LITERAL1
TWGCE LITERAL1
TWA0 LITERAL1
TWA1 LITERAL1
TWA2 LITERAL1
TWA3 LITERAL1
TWA4 LITERAL1
TWA5 LITERAL1
TWA6 LITERAL1
TWD0 LITERAL1
TWD1 LITERAL1
TWD2 LITERAL1
TWD3 LITERAL1
TWD4 LITERAL1
TWD5 LITERAL1
TWD6 LITERAL1
TWD7 LITERAL1
TWIE LITERAL1
TWEN LITERAL1
TWWC LITERAL1
TWSTO LITERAL1
TWSTA LITERAL1
TWEA LITERAL1
TWINT LITERAL1
TWAM0 LITERAL1
TWAM1 LITERAL1
TWAM2 LITERAL1
TWAM3 LITERAL1
TWAM4 LITERAL1
TWAM5 LITERAL1
TWAM6 LITERAL1
MPCM0 LITERAL1
U2X0 LITERAL1
UPE0 LITERAL1
DOR0 LITERAL1
FE0 LITERAL1
UDRE0 LITERAL1
TXC0 LITERAL1
RXC0 LITERAL1
TXB80 LITERAL1
RXB80 LITERAL1
UCSZ02 LITERAL1
TXEN0 LITERAL1
RXEN0 LITERAL1
UDRIE0 LITERAL1
TXCIE0 LITERAL1
RXCIE0 LITERAL1
UCPOL0 LITERAL1
UCSZ00 LITERAL1
UCPHA0 LITERAL1
UCSZ01 LITERAL1
UDORD0 LITERAL1
USBS0 LITERAL1
UPM00 LITERAL1
UPM01 LITERAL1
UMSEL00 LITERAL1
UMSEL01 LITERAL1
UBRR0_0 LITERAL1
UBRR0_1 LITERAL1
UBRR0_2 LITERAL1
UBRR0_3 LITERAL1
UBRR0_4 LITERAL1
UBRR0_5 LITERAL1
UBRR0_6 LITERAL1
UBRR0_7 LITERAL1
UBRR0_8 LITERAL1
UBRR0_9 LITERAL1
UBRR0_10 LITERAL1
UBRR0_11 LITERAL1
UDR0_0 LITERAL1
UDR0_1 LITERAL1
UDR0_2 LITERAL1
UDR0_3 LITERAL1
UDR0_4 LITERAL1
UDR0_5 LITERAL1
UDR0_6 LITERAL1
UDR0_7 LITERAL1

View File

@ -115,13 +115,15 @@ parseFloat | 1070 | 246 | 824
В ядре оставлены стандартные загрузчики для ATmega328 и добавлен вариант прошивки без загрузчика В ядре оставлены стандартные загрузчики для ATmega328 и добавлен вариант прошивки без загрузчика
- Новый с **optiBoot**, киатйцы тоже потихоньку начинают продавать платы с ним - Новый с **optiBoot**, киатйцы тоже потихоньку начинают продавать платы с ним
- Старый **old bootloader** - Старый **old bootloader**
- Вариант **Without bootloader** для прошивки скетча во всю доступную (32 кБ) память МК - Вариант **without bootloader** для прошивки скетча во всю доступную (32 кБ) память МК
## Дополнительно ## Дополнительно
- Смотри примеры в папке **examples** (в корне этого репозитория!) - Смотри примеры в папке **examples** (в корне этого репозитория!)
- Добавлен вариант прошивки без загрузчика **ATmega 328/168 without bootloader** (во всю доступную Flash память) для прошивки через ISP - Добавлен вариант прошивки без загрузчика **without bootloader** (во всю доступную Flash память) для прошивки через ISP
- Добавлен вариант прошивки с отключенными функциями времени **with/without millis** (освобождает вектор **TIMER0_OVF_vect** для личного пользования) - Добавлен вариант прошивки с отключенными функциями времени **with/without millis** (освобождает вектор **TIMER0_OVF_vect** для личного пользования)
- Добавлена поддержка 8 и 16 МГц частоты, функции времени и UART автоматически корректируются под выбранную частоту - Добавлена поддержка 8 и 16 МГц частоты, функции времени и UART автоматически корректируются под выбранную частоту
- Добавлена возможность тактироваться от внутреннего тактового генератора (128 кГц, 1 МГц, 8 МГц). Нужно выбрать частоту и "записать загрузчик"
- **ВНИМАНИЕ!** После прошивки на частоту 128 кГц дальнейшая загрузка по ISP возможно только с понижением частоты ISP на стороне программатора!
## Больше контроля! ## Больше контроля!
Для большего контроля за периферией микроконтроллера рекомендую попробовать следующие наши библиотеки: Для большего контроля за периферией микроконтроллера рекомендую попробовать следующие наши библиотеки:
@ -147,3 +149,12 @@ parseFloat | 1070 | 246 | 824
- 1.5.0 - 1.5.0
- Облегчён analogRead - Облегчён analogRead
- Чуть исправлена инициализация watchdog - Чуть исправлена инициализация watchdog
- 1.6.0
- Пофикшен **INPUT_PULLUP**
- Добавлена расширенная подсветка синтаксиса (регистры и байты)
- Убрана поддержка ATmega168
- Изменена логика выбора платы
- Добавлена поддержка тактирования от внутреннего генератора:
- 8 МГц
- 1 МГц (только для without bootloader)
- 128 кГц (только для without bootloader)

View File

@ -92,6 +92,20 @@
{"name": "ATmega328/168 based boards"} {"name": "ATmega328/168 based boards"}
], ],
"toolsDependencies": [] "toolsDependencies": []
},
{
"name": "GyverCore",
"architecture": "avr",
"version": "1.6.0",
"category": "Contributed",
"url": "https://github.com/AlexGyver/GyverCore/releases/download/GyverCore-1.6.0/GyverCore.zip",
"archiveFileName": "GyverCore.zip",
"checksum": "MD5:8627c5829455a1445948fccac0105bd2",
"size": "143436",
"boards": [
{"name": "ATmega328 based boards"}
],
"toolsDependencies": []
} }
], ],
"tools": [] "tools": []