Страница 2 из 3

Re: Работа с RS232

Добавлено: Пн май 19, 2014 18:38:55
igor-x
DoctorVx писал(а):
Pavel_1978 писал(а): ..бла...бла...бла... ATmega164 это канеш круто но на него нет плат наподобие Ардуины.. возможно ли обойтись старушкой мегой8? в этом вапросе?
в этом вАпросе можно использовать Arduino Mega 2560 (поскольку ардуина уже 2 раза упоминалась здесь)
в ней аж 4 усарта есь )))
http://arduino.cc/en/Main/ArduinoBoardMega2560
кстати и стоит недорого - всего 17 долл на Ebay

Re: Работа с RS232

Добавлено: Пн май 19, 2014 19:23:05
Pavel_1978
Организуешь приемный буфер, принимаешь в него байты пакета. Обрабатываешь их как тебе надо результат передаешь наружу.

Re: Работа с RS232

Добавлено: Пн май 19, 2014 22:56:31
legalize
Atmega162 дешево и сердито с двумя УСАРТами.

Re: Работа с RS232

Добавлено: Вт май 20, 2014 00:42:57
DoctorVx
legalize писал(а):Atmega162 дешево и сердито с двумя УСАРТами.
Да действительно не дорогая микрушка с богатым функциналом =) А не подскажете кусочек кода =))

Re: Работа с RS232

Добавлено: Вт май 20, 2014 07:36:12
igor-x
DoctorVx писал(а):... А не подскажете кусочек кода =))
вот кусочек кода :

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

// 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;
      };
   };
}

Re: Работа с RS232

Добавлено: Вт май 20, 2014 09:02:52
DoctorVx
igor-x писал(а):
DoctorVx писал(а):... А не подскажете кусочек кода =))
вот кусочек кода :

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

// 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;
      };
   };
}
Спасибо =) тут как я понял в UDR принятые данные из одного UART а где ловить данные второго в меге162? Очень извиняюсь за глупые и скорее всего вполне очевидные вопросы, но мне очень нужно!

Re: Работа с RS232

Добавлено: Вт май 20, 2014 09:11:31
igor-x
где ловить данные второго в меге162 ?
данные второго нужно ловить в прерывании от второго усарт. кусочек кода аналогичный, но требуется второй приемный буфер в программе.

Re: Работа с RS232

Добавлено: Вт май 20, 2014 10:59:50
DoctorVx
Вот набросал схемку под Atmtga162, я ничего не упустил? далее всё чисто программная работа или ещё требуется какая либо обвязка?

Re: Работа с RS232

Добавлено: Вт май 20, 2014 11:02:49
Pavel_1978
DoctorVx писал(а):Вот набросал схемку под Atmtga162, я ничего не упустил? далее всё чисто программная работа или ещё требуется какая либо обвязка?
На каких скростях работает UART? Посмотри в ДШ если нужная скорость обеспечивается внутренним генератором, то кварц можно не ставить. Кнопка сброса тоже не нужна.
С питанием определился?

Re: Работа с RS232

Добавлено: Вт май 20, 2014 11:05:27
DoctorVx
Да с питанием определился =) Необходимо придумать питания из самого ком порта в виду спецефичности использования прибора, нет возможности подвести отдельное питание, вот надо както придумать как это всё запитать от rs232 . google по этому поводу тож ничё дельного не пишет, везде примеры с доп. питанием.. =( была идея брать от USB но нет возможности в данном конкретном случае USB Не имеется =(

Re: Работа с RS232

Добавлено: Вт май 20, 2014 11:16:12
igor-x
аа. почему в сторону девайса не поставил МАХ232 ?
как я понимаю этот девайс раньше работал с портом СОМ напрямую - значит согласование нужно в обе стороны

Re: Работа с RS232

Добавлено: Вт май 20, 2014 11:16:51
DoctorVx
Скорость Uart остаётся загадкой если честно но судя по всему не думаю что более 54к. Может существуют техники распознавания и автоматической адаптации к используемой скорости??

Re: Работа с RS232

Добавлено: Вт май 20, 2014 11:18:18
DoctorVx
igor-x писал(а):аа. почему в сторону девайса не поставил МАХ232 ?
как я понимаю этот девайс раньше работал с портом СОМ напрямую - значит согласование нужно в обе стороны
дак MAX232 Вроде 2х канальный же... мне показалось что хватит одного?

Re: Работа с RS232

Добавлено: Вт май 20, 2014 11:23:12
igor-x
аа похоже 2 канала...

кажется я понял зачем нужен девайс. :))

он ставится в кабель принтера работающего по RS232 .
можно получать интересные фокусы - кассовый аппарат пробивает 100 рублей, а на чеке печатается 1 руб.
остальное - себе в карман

Re: Работа с RS232

Добавлено: Вт май 20, 2014 11:23:48
DoctorVx
Может быть кто вы знаете дохренаканальный MAX? просто есть некоторый ограничивающий фактор , такой как размер девайса, скажем так использование большого количества микросхем крайне не желательно..

Re: Работа с RS232

Добавлено: Вт май 20, 2014 11:25:33
DoctorVx
igor-x писал(а):аа похоже 2 канала...

кажется я понял зачем нужен девайс. :))

он ставится в кабель принтера работающего по RS232 .
можно получать интересные фокусы - кассовый аппарат пробивает 100 рублей, а на чеке печатается 1 руб.
остальное - себе в карман
Да вы от части Правы =)) махинации с кассой =))))))))))))

Re: Работа с RS232

Добавлено: Вт май 20, 2014 12:40:46
DoctorVx
Махинации не в плане криминала, просто необходимо реализовать данную возможность..

Re: Работа с RS232

Добавлено: Вт май 20, 2014 13:36:25
DoctorVx
Вот если я вот так свою конструкцию буду питать?? всё будет ОК? или необходимо чтото более существенное с дросселями и стабилизатором напряжения с возможностью повышения напряжения? например LM5000??

Re: Работа с RS232

Добавлено: Вт май 20, 2014 13:46:08
igor-x
реализовать данную возможность
думаю могу поучаствовать в реализации данной возможности. за проценты от этой возможности :))

Re: Работа с RS232

Добавлено: Вт май 20, 2014 13:50:36
DoctorVx
igor-x писал(а):
реализовать данную возможность
думаю могу поучаствовать в реализации данной возможности. за проценты от этой возможности :))
За процент =))))))))))))) отличное предложение, только вот в данном случае к сожалению выгода не планируется =( а только самообучение хардварному реверс инженерингу =(