2017-11-16 22 views
0

두 개의 CAN 인터페이스가있는 Beaglebone Black을 SocketCAN으로 사용하고 있습니다. 인터페이스 can0을 내 하드웨어 DCAN0에 어떻게 연결할 수 있습니까? 두 소켓을 모두 병렬로 사용해야하지만 인터페이스를 구성하지 못했습니다. 당신의 CAN 장치에 해당하는 하위 디렉토리를 사용하는 동안SocketCAN을 특정 인터페이스로 구성하려면 어떻게해야합니까?

+0

질문에 ip addr 출력을 추가 할 수 있습니까? 나는. 'can0'과'can1' 인터페이스를 모두 볼 수 있습니까? – yegorich

+0

예, 두 인터페이스를 모두 볼 수 있으며 두 인터페이스 모두에서 패킷을 수신 할 수 있지만 can0에서만 전송할 수 있습니다. 이제 인터페이스를이 순서로 활성화했기 때문에 can0에는 DCAN0이 있고 can1에는 DCAN1이 있습니다. 내 질문은 이제 인터페이스가 어디에서 알 수 있는지, 어느쪽에 (DCAN0 또는 DCAN1) 보낼 수 있는지입니다. –

+0

이 내용은 장치 트리 소스 파일에 따라 다릅니다. DCAN0 또는 DCAN1 중 하나만 CAN 인터페이스를 사용하면'can0'을 얻을 수 있습니다. 둘 다 가지고 있다면'can0'에 DCAN0을 할당하고'can1'에 자동적으로 할당 한 DCAN1을 얻을 수 있습니다. 그래서'can1 '을 보내면 패킷을 DCAN1에 보냅니다. – yegorich

답변

0

당신은 ls -la /sys/class/* 를 통해 장치 인터페이스의 매핑을 확인할 수 있습니다. 이더넷 장치는 예를 들어 /sys/class/net/, 터미널 에뮬레이터/장치는 /sys/class/tty/ 등으로 표시됩니다.