Например TDA7294

Форум РадиоКот :: Просмотр темы - ATTINY2313 + GPRS
Форум РадиоКот
https://radiokot.ru/forum/

ATTINY2313 + GPRS
https://radiokot.ru/forum/viewtopic.php?f=57&t=93949
Страница 1 из 1

Автор:  Sheleh [ Вс сен 01, 2013 14:06:46 ]
Заголовок сообщения:  ATTINY2313 + GPRS

Всем привет, ни разу сам не писал под микроконтроллеры, но уже в конец прижало, надо начинать.
В общем ТЗ.
Есть устройство ПКП (охранный прибор) известной фирмы. Работает как автономно, так и в составе сети RS485 под управлением либо аппаратной "бошки", либо ПК.
Собственно необходим контроллер, который бы с одной стороны подключается к такому прибору по RS485, а с другой управлял бы каким-нибудь SIM300, налаживал связь с сервером и передавал бы на него все, что происходит на входе, и наоборот, принимал бы сообщения с сервера и отправлял бы на вход.

Код:
$regfile = "attiny13.dat"                                   'МК Attiny13
$crystal = 9600000                                          'Рабочая частота МК 9.6МГц
$hwstack = 16
$swstack = 16
$framesize = 16
Open "comb.1:9600,8,n,1" For Output As #1                   'Программный UART 1 на PB.3 TXD
Open "comb.2:9600,8,n,1" For Input As #2                    'Программный UART 2 на PB.4 RXD

Open "comb.3:9600,8,n,1" For Output As #3                   'Программный UART 3 на PB.3 TXD
Open "comb.4:9600,8,n,1" For Input As #4                    'Программный UART 4 на PB.4 RXD



Dim Cmd As String * 8

Print #1 , "Program UART 1"
Print #3 , "Program UART 2"


Do


Loop
End


Эмулирую в протеусе, Выводит нормально. Но как к примеру для начала реализовать одновременное ожидание на двух портах?
Что бы если что то пришло в первый, было передано во второй и наоборот? К примеру в делфи есть события типа OnRead, и для каждого пишется свой обработчик. Просто пока я обрабатываю данные на одном порту, как не пропустить что происходит на другом?

Автор:  uk8amk [ Пн сен 02, 2013 17:45:17 ]
Заголовок сообщения:  Re: ATTINY2313 + GPRS

Atmega64, UART 2 штуки. По части приёма-передачи всё аппаратно.

Программно тоже можно навертеть через прерывания от таймера. Но по нормальному нужно придумывать фильтрацию, определение фронтов и восстановление синхронизации. Короче все то чем занимается железо.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/