EEPROM.get(0, amp);
Gdy jest włączony, cyfry amp pamięta, lecz generator nie produkuje impulsów , jeśli wyłączony impulsy są ale nie ma pamięci.
<> nie działa
//Write jest do zapisu 1 bajta, a chcesz zapisać 4, użyj put/get
#include <EEPROM.h>
unsigned long amp = 0;
void setup() {
Serial.begin(115200);
pinMode(A3, INPUT_PULLUP);
pinMode(A4, INPUT_PULLUP);
pinMode(9, OUTPUT); //output A
pinMode(10, OUTPUT); //output B
//Enable pin change interrupts on pins 9 and 10 PB 2 and 3
PCMSK0 |= (1 << PCINT2); //enable interrupt pin 10
PCMSK0 |= (1 << PCINT1); //enable interrupt pin 9
TCCR1A = 0; //clear timer registers
TCCR1B = 0;
TCNT1 = 0;
GTCCR |= 1 << PSRASY; //reset prescaler
//+++++++++++++++++++++++++++++++++++++++++
TCCR1B = (1 << WGM13) + (1 << WGM12) + (1 << CS10); // prescaler = 1 (none)
//+++++++++++++++++++++++++++++++++++++++++++++
//ICR1 = 200;//
//ICR1 = amp;//
OCR1A = ICR1 - 1; //two different pulse widths almost 100% duty cycle
OCR1B = OCR1A / 2; //offset by half period
TCCR1B |= _BV(WGM13) | _BV(WGM12); //CTC mode with ICR1
TCCR1A = _BV(COM1A0) | _BV(COM1B0); //Toggle OC1A/OC1B on compare match
EEPROM.get(0, amp);
}
void loop() {
ICR1 = amp;
if (digitalRead(A3) == 0) {
amp++;
EEPROM.put(0, amp);
}
if (digitalRead(A4) == 0) {
amp--;
EEPROM.put(0, amp);
}
Serial.print("amp Hz = ");
Serial.println(amp);
//Serial.println(amp/10);
}
Gdy jest włączony, cyfry amp pamięta, lecz generator nie produkuje impulsów , jeśli wyłączony impulsy są ale nie ma pamięci.
<> nie działa
//Write jest do zapisu 1 bajta, a chcesz zapisać 4, użyj put/get
#include <EEPROM.h>
unsigned long amp = 0;
void setup() {
Serial.begin(115200);
pinMode(A3, INPUT_PULLUP);
pinMode(A4, INPUT_PULLUP);
pinMode(9, OUTPUT); //output A
pinMode(10, OUTPUT); //output B
//Enable pin change interrupts on pins 9 and 10 PB 2 and 3
PCMSK0 |= (1 << PCINT2); //enable interrupt pin 10
PCMSK0 |= (1 << PCINT1); //enable interrupt pin 9
TCCR1A = 0; //clear timer registers
TCCR1B = 0;
TCNT1 = 0;
GTCCR |= 1 << PSRASY; //reset prescaler
//+++++++++++++++++++++++++++++++++++++++++
TCCR1B = (1 << WGM13) + (1 << WGM12) + (1 << CS10); // prescaler = 1 (none)
//+++++++++++++++++++++++++++++++++++++++++++++
//ICR1 = 200;//
//ICR1 = amp;//
OCR1A = ICR1 - 1; //two different pulse widths almost 100% duty cycle
OCR1B = OCR1A / 2; //offset by half period
TCCR1B |= _BV(WGM13) | _BV(WGM12); //CTC mode with ICR1
TCCR1A = _BV(COM1A0) | _BV(COM1B0); //Toggle OC1A/OC1B on compare match
EEPROM.get(0, amp);
}
void loop() {
ICR1 = amp;
if (digitalRead(A3) == 0) {
amp++;
EEPROM.put(0, amp);
}
if (digitalRead(A4) == 0) {
amp--;
EEPROM.put(0, amp);
}
Serial.print("amp Hz = ");
Serial.println(amp);
//Serial.println(amp/10);
}

