Чт дек 12, 2019 00:29:32
Чт дек 12, 2019 01:23:18
olegue писал(а):В общих чертах, что такое протокол?
NStorm писал(а):Банально функции написать для отправки бита и пакета... Таймеры освойте... попробуйте на _аппаратном_ ШИМ...
olegue писал(а):это мой уровень - это 100% попадание.
NStorm писал(а):А вот принять сложнее будет. Надо будет выделить сигнал из мусора.
NStorm писал(а):А еще нужна какая-то последовательность, для отделения данных от мусора.
NStorm писал(а):Можно ИК-протокол какой-нибудь за основу взять.
olegue писал(а):не могу дать профессиональную оценку как NStorm
olegue писал(а):получаю сигнал, измеряю длительность,
если длительность соответствует, запоминаю в переменную
получаю слещущий измеряю длительность....
olegue писал(а):а потом сравниваю с тем, кодом который должен быть.
Чт дек 12, 2019 10:49:02
olegue, ну вот, например: https://cxem.net/mc/mc315.php
Чт дек 12, 2019 11:20:47
Нельзя. Точнее можно, но будет работать через жопу.))
Ни один ИК-протокол не соответствует требованиям передачи по радиоканалу.
Какие ещё функции... ШИМ... и т.д.
Это я специально для olegue написал, который ещё не до конца разобрался как вообще работает порт в МК.
void send_bit(char in) {
PORTB.1=1;
delay_ms(in ? 1 : 2);
PORTB.1=0;
delay_ms(in ? 1 : 2);
}
Чт дек 12, 2019 15:01:52
NStorm писал(а):Но ту же самую идею с преамбулой и коцном передачи можно взять.
Чт дек 12, 2019 17:31:29
Пн дек 16, 2019 14:37:56
Пн дек 16, 2019 14:49:35
А если подам с генератора, то на ногу придет либо высокий, либо его отсутсвие (высокого). Будет ли отсутсвие выского уровня расценено Тинькой как низкий?
Пн дек 16, 2019 15:54:57
olegue писал(а):Выход у 155ЛА3 не может формировать Z-состояние… на выходе или лог 1, или лог 0.
Самсусамыч писал(а):Зачем реализовывать генератор на дополнительной микросхеме, когда МК и сам может формировать данный сигнал «генератора»?
Пн дек 16, 2019 15:59:46
Пн дек 16, 2019 16:43:28
Пн дек 16, 2019 16:56:19
Пн дек 16, 2019 17:11:55
счас хочу импульсы посчитать.
Добавлено after 1 minute 37 seconds:
без привязки по времени, не частоту.
Пн дек 16, 2019 17:17:03
Пн дек 16, 2019 18:35:23
Пн дек 16, 2019 18:52:37
Пн дек 16, 2019 20:06:25
olegue писал(а):А если подам с генератора, то на ногу придет либо высокий, либо его отсутсвие (высокого). Будет ли отсутсвие выского уровня расценено Тинькой как низкий?
olegue писал(а):почитал немножко про z состояние, но z состояние можно расспатривать как обрыв...
olegue писал(а):счас хочу импульсы посчитать.
Пн дек 16, 2019 22:53:08
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>
interrupt [TIM0_COMPA] void timer0_compa_isr(void) {
TCNT0=0x00;
}
void main(void)
{
DDRB=0xFF;
PORTB=0b00000001;
TCCR0B=0x03; //Счетный режим таймера с часторой....
OCR0A=0xF0; // Заданное число сравления
TIMSK0=0x04; //Разрешаем выполнение прерывание по совпадению в OCR0A
sei();
//PORTB|=(1<<PORTB4);
// Write your code here
while (1)
{
avr-gcc.exe -Wall -gdwarf-2 -fsigned-char -MD -MP -DF_CPU=1000000 -O1 -mmcu=attiny13 -o "main.o" -c "../main.c"
../main.c:11: error: 'TIM0_COMPA' undeclared here (not in a function)
../main.c:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
../main.c:16: warning: return type of 'main' is not 'int'
make: *** [main.o] Error 1
Error code 2
Пн дек 16, 2019 23:02:30
Вт дек 17, 2019 10:15:26
void timer_ini(void)
{
//TCCR0B=0x05;
TCCR0B|=(1<<CS02); // УСТАНОВИМ ДЕЛИТЕЛЬ 1024
TCCR0B|=(1<<CS00); // Эти 2 бита в 1
OCR0A=0xFF; // 255; 1200000/1024=1172 ГЦ и делим на число 0xff (255)= 4.5 гц
TIMSK0=0x04; // разрешаем таймер по совпадению с числом в OCR0A
}