Страница 1 из 1

IR DECODER ATTINY85 добавить вывод на ком порт

Добавлено: Чт май 16, 2024 20:11:50
nickjust
привет всем.
Спаял универсальный IR декодер на ATtiny85
Откомпилировал через Ардуино ,прошил с помощью USBASP и спаял на макетке
все работает, но мне нужно чтобы и в компорт выводило значение 4 байта , первых два это адрес ,следующие 2 команда и перевод строки
типа
00BFA659
00BF1F45

Кто может поправить исходник?
Схему без вывода на ком порт взял тут Technoblogy - IR Remote Control Detective [Updated]
http://www.technoblogy.com/show?24A9

Схему дорисовал

Re: IR DECODER ATTINY85 добавить вывод на ком порт

Добавлено: Пт май 17, 2024 08:48:16
roman.com
[uquote="nickjust",url="/forum/viewtopic.php?p=4580255#p4580255"]нужно чтобы и в компорт выводило значение 4 байта[/uquote]
нафиг в компорт...
лучше сразу в интернет))
ИК_1.jpg
(173.98 КБ) 90 скачиваний
ИК_пульт по Интернету.jpg
(144.98 КБ) 80 скачиваний
...
https://www.radiokot.ru/forum/viewtopic ... &start=176
:tea:

Re: IR DECODER ATTINY85 добавить вывод на ком порт

Добавлено: Пт май 17, 2024 19:12:49
nickjust
мне для локальной базы

Re: IR DECODER ATTINY85 добавить вывод на ком порт

Добавлено: Пт май 17, 2024 22:11:51
OKF

Код: Выделить всё

#include "main.h"
#include "swtx.h"


#define BIT_TIME_US (1000000L / BAUD - TRANSMIT_DELAY)


void swTxInit() {
  off(TX); out(TX);
}


void swTxPutc(uint8_t c) {
  uint8_t i = DATA_BITS;
  on(TX);                               //start
  delay_us(BIT_TIME_US);
  do {                                  //data, LSB first
    c & 1 ? off(TX) : on(TX);
    c >>= 1;
    delay_us(BIT_TIME_US);
  } while (--i);
  off(TX);                              //stop
  delay_us(BIT_TIME_US * STOP_BITS);
}

Re: IR DECODER ATTINY85 добавить вывод на ком порт

Добавлено: Сб май 18, 2024 10:55:34
nickjust
не вижу как выставить скорость 9600
и выход на порт PB1

Re: IR DECODER ATTINY85 добавить вывод на ком порт

Добавлено: Сб май 18, 2024 14:05:02
OKF
swtx.h:

Код: Выделить всё

// simple blocking software uart transmitter


#define TX                  1
#define BAUD                9600
#define DATA_BITS           8
#define STOP_BITS           1
#define TRANSMIT_DELAY      5           //uS, 0..2 = 8000 bps, 3..14 = 9600


void swTxInit();
void swTxPutc(uint8_t);