Всем привет, ни разу сам не писал под микроконтроллеры, но уже в конец прижало, надо начинать.
В общем ТЗ.
Есть устройство ПКП (охранный прибор) известной фирмы. Работает как автономно, так и в составе сети 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 Print #1 , "Program UART 1" Print #3 , "Program UART 2" Do Loop End
Эмулирую в протеусе, Выводит нормально. Но как к примеру для начала реализовать одновременное ожидание на двух портах?
Что бы если что то пришло в первый, было передано во второй и наоборот? К примеру в делфи есть события типа OnRead, и для каждого пишется свой обработчик. Просто пока я обрабатываю данные на одном порту, как не пропустить что происходит на другом?


Но всё за частую упирается в "тормознутость" (не оптимизированность) Баскома, если шустрый МК, то этим можно пренебречь (как писал ранее на форуме), иначе приходится делать ассемблерные вставки.
