아두이노 spi 통신 예제

SPI(직렬 주변 인터페이스)는 직렬 통신 프로토콜입니다. SPI 인터페이스는 1970년 모토로라에 의해 발견되었습니다. SPI에는 전체 이중 연결이 있어 데이터가 동시에 전송되고 수신됩니다. 즉, 마스터는 슬레이브에 데이터를 보낼 수 있으며 슬레이브는 동시에 마스터에 데이터를 보낼 수 있습니다. SPI는 동기 직렬 통신을 의미하며 클럭은 통신 목적을 위해 요구된다. 통신은 사전에 잘 정의되어야합니다 (당신은 당신이 원하는 때마다 임의의 양의 데이터를 보낼 수 없습니다) 데이터는 우리의 아두 이노와 SPI 장치 사이의 MOSI와 MISO 라인을 따라 앞뒤로 이동합니다. SS 회선이 LOW로 설정된 경우에만 이러한 경우에 발생할 수 있습니다. 즉, 버스의 특정 SPI 장치와 통신하기 위해 SS 회선을 해당 장치로 설정한 다음 통신한 다음 선을 HIGH로 다시 설정합니다. 버스에 두 개 이상의 SPI 장치가 있는 경우 배선은 다음과 유사합니다. 하나는 주인으로, 다른 하나는 노예로. 참고 : 우리는 아두 이노 IDE의 직렬 모터에서 결과를 보려면 serial.println()를 사용합니다. 끝에 있는 비디오를 확인합니다.

직렬 통신을 사용하면 두 칩 또는 보드 간에 정보를 통신하는 데 더 적은 핀을 사용할 수 있으며 병렬 통신과 관련된 전체 타이밍 문제도 제거합니다. 그러나 직렬 통신이 작동하려면 시계가 있어야 합니다. 시계가 없으면 데이터 핀에서 새 비트를 사용할 수 있는 시기를 알 수 없습니다. 각 클럭 주기에 새 데이터가 도착하고 칩은 일반적으로 해당 데이터를 내부 레지스터로 “이동”합니다. 그러나 모든 핀을 장치에 대한 슬레이브 셀렉트(SS)로 사용할 수 있습니다. 예를 들어 Arduino 이더넷 쉴드는 핀 4를 사용하여 온보드 SD 카드에 대한 SPI 연결을 제어하고 10을 핀하여 이더넷 컨트롤러에 대한 연결을 제어합니다. 위에서 볼 수 있듯이, SPI 통신이 발생할 때마다 항상 두 방향으로 통신의 한쪽이 필요하지 않을 수도 있지만, 두 회선 시스템을 통해 동시에 송수신이 가능합니다. 작업을 더 쉽게 하기 위해 해결하는 칩이 단방향인 경우 원하는 방향만 와이어업하면 됩니다. 그러나 항상 시계와 칩 선택이 필요합니다. 안녕하세요, 좋은 튜토리얼, 나는 그것이 나를 위해 작동하는지 확인하기 위해이 비트와 엉망으로 갈거야.

질문. 나는 “마스터”코드가 SS (슬레이브 선택)로 pin10을 사용하는 것으로 나타났습니다. 이 기사에서 내 이해는 노예가 wheter 통신이 그것에 대한 구속또는하지 알고 있도록하는 것입니다. 그러나 슬레이브의 코드에서는 SS가 사용되지 않습니다. 이렇게 하면 이 예제의 슬레이브 유닛이 마스터 SS에 관계없이 SPI의 모든 통신을 듣고 응답할 수 있습니다.

Posted in Uncategorized