в кане нет потока, там кадровая организация, а если говорить про кан опен, то там вообще адресуются не узлы, а данные... адрес имеет параметр, а не объект.
я бы так сделал:
от компьютера, по URAT или USB принимаем данные в виде адрес (битность зависит от версии кан), полезная нагрузка (8 байт), контрольная сумма. Проверяем контрольную сумму (для UART это может быть важно, USB вроде имеет встроенную) Пихаете полученные данные 8 полезных байт в кан, по тому адресу что в адресе Проверяете флаг удачной передачи, если послалась шлем в компьютер ОК, если нет Ошибка
от устройства, без фильтрации пакетов, получаем данные, дербаним из них адрес и 8 байт полезной нагрузки, добавляем контрольную сумму, пихаем в компьютер... Тут к честно не получится, потому что кану надо акнуть данные еще до того как их компьютер получить, иначе вся сеть подвиснет. Но можно попробовать предусмотреть аварийный код, настраиваемый с компьютера адрес и данные, которое ваше устройство начнет рассылать по кан сети, если компьютер отвалится...
вот собственно все и покрыто комп - кан и обратно.
|