test 8Mhz fail

This commit is contained in:
DashyFox 2024-02-14 17:19:53 +03:00
parent aedbe11af3
commit 882bd56d49
3 changed files with 15 additions and 11 deletions

View File

@ -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;

View File

@ -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
} }

View File

@ -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