Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 03.10.2014, 23:08  
AVRkin
Прописка
 
Аватар для AVRkin
 
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
AVRkin на пути к лучшему
По умолчанию uart и rs232

http://www.getchip.net/posts/071-pre...pultov-v-uart/
это через max 232 прицеплю на ком порт, она в теримнал что нибудь выдаст?
просто для проверки хочу это сделать
Реклама:
__________________
Самое главное умение - умение радоваться жизни.
AVRkin вне форума  
Непрочитано 03.10.2014, 23:52  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,927
Сказал спасибо: 2,543
Сказали Спасибо 11,827 раз(а) в 5,929 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: uart и rs232

Да. .
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
AVRkin (05.10.2014)
Непрочитано 04.10.2014, 23:36  
AVRkin
Прописка
 
Аватар для AVRkin
 
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
AVRkin на пути к лучшему
По умолчанию Re: uart и rs232

всё получилось
в терминале выводятся 16-ричные коды кнопок
а как хоть примерно организовать их обработку AVR контроллером ?
хотя бы на дисплей вывести
__________________
Самое главное умение - умение радоваться жизни.
AVRkin вне форума  
Непрочитано 05.10.2014, 00:32  
каин
Заблокирован
 
Регистрация: 10.09.2014
Сообщений: 156
Сказал спасибо: 17
Сказали Спасибо 30 раз(а) в 25 сообщении(ях)
каин на пути к лучшему
По умолчанию Re: uart и rs232

А зачем Вам протез ?
тини13 обрабатывает код ик а потом второй мк уже работает исходя из этих данных ?
Не жирноватенько будет для ик ?
(впрочем никто не запрещает передавать код кнопки из UART-а первого мк в UART второго)
А вообще,прочтите протокол,вешайте TSOP на прерывание инт0 на ногу мк
в прерывании отключить прерывание,опознать преамбулу,опознать код,присвоить переменным принятый код,включить прерывание.
ps самый ходовой протокол NEC.
Вложения:
Тип файла: pdf A.Tores_Infrakrasnoe_distancionnoe_upravlenie.pdf (217.5 Кб, 80 просмотров)
каин вне форума  
Сказали "Спасибо" каин
AVRkin (05.10.2014)
Непрочитано 05.10.2014, 01:15  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,638
Сказал спасибо: 73
Сказали Спасибо 1,796 раз(а) в 648 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: uart и rs232

Сообщение от AVRkin Посмотреть сообщение
в терминале выводятся 16-ричные коды кнопок
а как хоть примерно организовать их обработку AVR контроллером ?
хотя бы на дисплей вывести
Вот здесь есть полезная программка: http://batonprog.ru/usb/usb_test_pc.rar
Выводит принятый с UART-а байт в десятичном виде.
RECTO вне форума  
Сказали "Спасибо" RECTO
AVRkin (05.10.2014)
Непрочитано 05.10.2014, 08:05  
AVRkin
Прописка
 
Аватар для AVRkin
 
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
AVRkin на пути к лучшему
По умолчанию Re: uart и rs232

каин, так интереснее
да и пока что с протоколами ИК пультов заморачиваться не хочу, но за книжку спасибо, почитаю
а в описании устройства заявлено что оно почти все пульты видит
в итоге тестирования пульта двд получилась табличка
Код:
2A 28 D7
2A EA 15
2A 82 7D
2A 62 9D
2A 90 6F
2A B8 47
2A F8 07
2A B0 4F
2A 98 67
2A D8 27
2A 88 77
2A A8 57
2A E8 17
2A 48 B7
2A 9A 65
2A 10 EF
2A 0A F5
2A AA 55
2A 12 ED
2A 52 AD
2A 7A 85
2A 60 9F
2A A0 5F
2A C0 3F
2A E2 1D
2A E0 1F
2A 02 FD
2A 40 BF
2A 18 E7
2A 22 DD
2A F0 0F
2A 8A 75
2A 50 AF
2A 78 87
2A 70 8F
2A 58 A7
2A CA 35
2A 4A B5
2A 80 7F
2A A2 5D
2A D2 2D
2A 92 6D
2A 00 FF
2A B2 4D
__________________
Самое главное умение - умение радоваться жизни.

Последний раз редактировалось AVRkin; 05.10.2014 в 08:13.
AVRkin вне форума  
Непрочитано 05.10.2014, 09:17  
AVRkin
Прописка
 
Аватар для AVRkin
 
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
AVRkin на пути к лучшему
По умолчанию Re: uart и rs232

ура, появились кракозябры на экранчике
Код:
#include ‹mega8.h›

#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm
#include ‹lcd.h›  

char lcd_buffer[32];
char uart_data[5];
int i=0,j=0;

#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1‹‹FE)
#define PARITY_ERROR (1‹‹UPE)
#define DATA_OVERRUN (1‹‹OVR)
#define DATA_REGISTER_EMPTY (1‹‹UDRE)
#define RX_COMPLETE (1‹‹RXC)

// USART Receiver buffer
#define RX_BUFFER_SIZE 32
char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE‹256
unsigned char rx_wr_index,rx_rd_index,rx_counter;
#else
unsigned int rx_wr_index,rx_rd_index,rx_counter;
#endif

// This flag is set on USART Receiver buffer overflow
bit rx_buffer_overflow;

// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
   {
   rx_buffer[rx_wr_index]=data;
   if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
   if (++rx_counter == RX_BUFFER_SIZE)
      {
      rx_counter=0;
      rx_buffer_overflow=1;
      };
   }; 
  uart_data[i]=data;
  i++;
  if(i›4)
  {
  i=0;
  }
  
  
}

#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index];
if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif

// Standard Input/Output functions
#include ‹stdio.h›

// Declare your global variables here

void main(void)
{

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: Off
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x90;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;

// LCD module initialization
lcd_init(16);

// Global enable interrupts
#asm("sei")

while (1)
      { 
      while(j‹5)
      {                  
      lcd_gotoxy(j,0);
      sprintf(lcd_buffer,"%c",uart_data[j]);
      lcd_puts(lcd_buffer);
      j++;
      }
      j=0;
      };
}
каждой кнопке соответствуют свои кракозябры
__________________
Самое главное умение - умение радоваться жизни.
AVRkin вне форума  
Непрочитано 05.10.2014, 09:43  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: uart и rs232

И что ты с этой табличкой делать то будешь?
Сообщение от AVRkin Посмотреть сообщение
а как хоть примерно организовать их обработку AVR контроллером ?
Первый байт сообщения в получившейся таблице одинаковый для всех сообщений. Это будет первая проверка. Если принятый байт равен 2A, то разрешается проверка дальше. Если нет, то выход - все коды не от того пульта.
Дальше простая проверка последовательно по таблице на совпадение принятого кода и выполнение действия по таблице действий.

Если нужно вывести на символьный ЖК дисплей принимаемые коды в hex-виде, то вначале надо их преобразовать в последовательность ASCII-символов. Для этого каждый байт разделяем на полубайты, добавляем к каждому полубайту число 0х30 (если выводится цифра) или 0х40 (если выводится буква) и пересылаем в дисплей. Получается полный байт в ASCII коде.
Проверить, цифра или буква, просто - если значение полубайта меньше 0хA, то это цифра.

Последний раз редактировалось NewWriter; 05.10.2014 в 09:46.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
AVRkin (05.10.2014)
Непрочитано 05.10.2014, 10:06  
AVRkin
Прописка
 
Аватар для AVRkin
 
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
AVRkin на пути к лучшему
По умолчанию Re: uart и rs232

интересная особенность
код любого пульта начинается на 2A ** ** **
вероятно 2A означает начало посылки
__________________
Самое главное умение - умение радоваться жизни.
AVRkin вне форума  
Непрочитано 05.10.2014, 10:30  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: uart и rs232

Первый байт - константа (а должно быть два байта адреса), второй байт - команда, третий байт, та же команда, но в инверсном виде. Используется для проверки правильности приёма команды. Нужно инвертировать третий байт и сравнить его со вторым. Если равны, то ошибок приема нет.
На выходе МК - видимо упрощение протокола Samsung или Nec - выкинут повтор адреса.

А если почитать по той ссылке, которую AVRkin дал в самом начале темы, то становится ВСЁ понятно.
Первый байт со значением 2А - это ASCII-код символа *
Никакого отношения к реальным кодам с пульта это не имеет. Потому и подходит к любым пультам. Байты адресов просто отбрасываются
Правда, автор той статьи сам не понял, почему у него код нажатой кнопки в виде двух байтов.

Последний раз редактировалось NewWriter; 05.10.2014 в 11:34.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
AVRkin (05.10.2014)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVR, UART и режим IDLE anpaza Микроконтроллеры, АЦП, память и т.д 14 25.07.2011 03:04
ATMEGA простой UART (RS232) без max232 EXIS Микроконтроллеры, АЦП, память и т.д 39 09.12.2010 18:51
Нужно 2 UART на мк , как быть? Zemlyanov Микроконтроллеры, АЦП, память и т.д 77 04.05.2010 19:26
Подключение передатчика CAN и RS232 к одному UART Haster Микроконтроллеры, АЦП, память и т.д 9 16.04.2009 21:24
Помогите разобраться с UART masterpc Микроконтроллеры, АЦП, память и т.д 10 13.02.2007 17:49


Часовой пояс GMT +4, время: 19:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot