pic i2c 예제

Off
Non classé

다음은 우리의 서보 * 프로 칩 중 하나 (I2C 슬레이브)와 통신하기 위해 I2C 마스터로 설정되어 마이크로 칩 12F1822 마이크로 컨트롤러에 대한 몇 가지 예 코드입니다. 읽기 및 쓰기 함수가 모두 사용되며 무료 하이테크 C 컴파일러를 사용하여 작성됩니다. 이 예제에서는 두 개의 그림 마이크로 컨트롤러 간에 양방향 통신이 있습니다. 8비트 스위치와 8개의 LED가 각 마이크로컨트롤러에 연결됩니다. 우리는 다른 마이크로 컨트롤러에 연결된 스위치와 PIC에 연결된 LED를 제어 할 것입니다. I²C 모드에서 PIC 마이크로 컨트롤러의 MSSP 모듈의 작동에 대해 자세히 살펴보겠습니다. MSSP 모듈은 10비트 및 7비트 주소 모드 모두에서 작동하도록 구성할 수 있습니다. 이 예제에서는 일반적으로 사용되는 7 비트 모드만 시연합니다. 10 비트 모드에서 작동하도록 프로그램을 쉽게 수정할 수 있습니다. I2C는 마스터 슬레이브 프로토콜입니다.

I2C 버스에 연결된 장치가 마스터 또는 슬레이브가 된다는 것을 의미합니다. 마스터는 통신을 시작하고 클럭 (SCL) 라인을 구동하는 장치입니다. 슬레이브는 마스터에 응답하는 장치이며 통신을 시작할 수 없습니다. I2C 버스에는 여러 마스터와 여러 슬레이브가 있을 수 있습니다. 그러나 일반적으로 우리는 단일 마스터와 여러 슬레이브를 사용하고 있습니다. 각 슬레이브는 고유 주소로 식별되거나 주소가 지정됩니다. 마스터는 슬레이브 + R/W 비트의 주소를 먼저 보낸 다음 다른 데이터를 보냅니다. 따라서 특정 주소가 있는 슬레이브가 그 순간에 활성화됩니다. R/W 비트는 마스터가 슬레이브에서 데이터를 읽거나 데이터를 쓸지 여부를 나타냅니다. 예를 들어, I/O 포트 익스팬더, LED/LCD 드라이버, ADC, DIC, EEPROMs, 실시간 시계(RTC) 등과 같은 다른 슬레이브 장치에 연결된 마이크로 컨트롤러 또는 호스트 장치를 가질 수 있습니다.

AckI2C(); DataRdyI2C: 이 매크로는 SSPxBUF 레지스터에 데이터가 포함된 경우 사용자에게 상태를 다시 제공합니다. putcI2C: 이 매크로는 WriteI2C getcI2C와 동일합니다: 이 매크로는 PIC 마이크로 컨트롤러 기사와 인터페이싱 실시간 시계 DS1307에서 ReadI2C와 동일합니다, MPLAB XC8 컴파일러가 있는 I2C 실시간 시계에서 또는 데이터를 읽고 쓰는 방법의 예는 설명. PIC 마이크로 컨트롤러 기사와 인터페이싱 실시간 시계 DS1307에서, MPLAB XC8 컴파일러 및 MPLAB 코드 구성기와 I2C 실시간 시계에서 또는 에서 데이터를 읽고 쓰는 방법의 예를 설명합니다.

Comments are closed.