mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-05-04 15:20:16 +00:00
test 8Mhz fail
This commit is contained in:
parent
aedbe11af3
commit
882bd56d49
@ -6,10 +6,6 @@
|
|||||||
#define TestOut 13
|
#define TestOut 13
|
||||||
|
|
||||||
IR_Encoder::IR_Encoder(uint16_t addr, uint8_t pin, IR_Decoder* decPair = nullptr) {
|
IR_Encoder::IR_Encoder(uint16_t addr, uint8_t pin, IR_Decoder* decPair = nullptr) {
|
||||||
|
|
||||||
// sendBuffer = new uint8_t[dataByteSizeMax] { 0 };
|
|
||||||
ir_out = pin;
|
|
||||||
pinMode(ir_out, OUTPUT);
|
|
||||||
id = addr;
|
id = addr;
|
||||||
this->decPair = decPair;
|
this->decPair = decPair;
|
||||||
signal = noSignal;
|
signal = noSignal;
|
||||||
|
20
IR_Encoder.h
20
IR_Encoder.h
@ -8,8 +8,6 @@ class IR_Encoder : IR_FOX {
|
|||||||
friend IR_Decoder;
|
friend IR_Decoder;
|
||||||
friend void isr(IR_Encoder& e);
|
friend void isr(IR_Encoder& e);
|
||||||
public:
|
public:
|
||||||
|
|
||||||
uint8_t ir_out; /// @brief Вывод передатчика
|
|
||||||
uint16_t id; /// @brief Адрес передатчика
|
uint16_t id; /// @brief Адрес передатчика
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -27,10 +25,20 @@ public:
|
|||||||
// TIMER2 Ini
|
// TIMER2 Ini
|
||||||
uint8_t oldSREG = SREG; // Save global interupts settings
|
uint8_t oldSREG = SREG; // Save global interupts settings
|
||||||
cli();
|
cli();
|
||||||
TCCR2A = (1 << WGM21); // Clear Timer On Compare (Сброс по совпадению)
|
// DDRB |= (1 << PORTB3); //OC2A (17)
|
||||||
TCCR2B = (1 << CS20); // Предделитель 1
|
TCCR2A = 0;
|
||||||
TIMSK2 |= (1 << OCIE2A); // Прерывание по совпадению
|
TCCR2B = 0;
|
||||||
OCR2A = 465/* ((F_CPU / 38000) - 1) */; //38кГц
|
|
||||||
|
// TCCR2A |= (1 << COM2A0); //Переключение состояния
|
||||||
|
|
||||||
|
TCCR2A |= (1 << WGM21); // Clear Timer On Compare (Сброс по совпадению)
|
||||||
|
TCCR2B |= (1 << CS20); // Предделитель 1
|
||||||
|
TIMSK2 |= (1 << OCIE2A); // Прерывание по совпадению
|
||||||
|
#if F_CPU == 16000000
|
||||||
|
OCR2A = /* 465 */((F_CPU / (38000*2)) - 2); //38кГц
|
||||||
|
#elif F_CPU == 8000000
|
||||||
|
OCR2A = ((F_CPU / (38000 * 2)) - 2); //38кГц Частота_мк / (Предделитель * Частота * 2)
|
||||||
|
#endif
|
||||||
|
|
||||||
SREG = oldSREG; // Return interrupt settings
|
SREG = oldSREG; // Return interrupt settings
|
||||||
}
|
}
|
||||||
|
@ -76,7 +76,7 @@ typedef uint16_t crc_t;
|
|||||||
#ifndef freeFrec
|
#ifndef freeFrec
|
||||||
#define freeFrec true
|
#define freeFrec true
|
||||||
#endif
|
#endif
|
||||||
#define subBufferSize 17 //Буфер для складирования фронтов, пока их не обработают (передатчик)
|
#define subBufferSize 15 //Буфер для складирования фронтов, пока их не обработают (передатчик)
|
||||||
|
|
||||||
#define preambPulse 3
|
#define preambPulse 3
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user