Страница 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 писал(а):реализовать данную возможность
думаю могу поучаствовать в реализации данной возможности. за проценты от этой возможности

За процент =))))))))))))) отличное предложение, только вот в данном случае к сожалению выгода не планируется =( а только самообучение хардварному реверс инженерингу =(