Всем привет, ни разу сам не писал под микроконтроллеры, но уже в конец прижало, надо начинать.
В общем ТЗ.
Есть устройство ПКП (охранный прибор) известной фирмы. Работает как автономно, так и в составе сети 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, и для каждого пишется свой обработчик. Просто пока я обрабатываю данные на одном порту, как не пропустить что происходит на другом?