2017-05-17 9 views
-1

TI MSP432를 프로그래밍 중입니다. 단일 I2C 회선에는 4 가지 장치가 있습니다.코드 구조 : 여러 소스 파일이있는 I2C 라인의 다중 장치

코드베이스를 읽기 쉽게하기 위해 다른 장치에 관련된 기능을 다른 C 파일에 보관합니다. 파일은 원래 I2C 라인에서 하나의 장치로 개발 되었기 때문에 I2C 인터럽트는 개별 파일에 있습니다.

이러한 파일을 통합하는 적절한 방법은 무엇입니까? 주 파일에 I2C 인터럽트를 넣고 각 파일의 함수를 호출합니까? 아니면 어떤 식 으로든 인터럽트가 무엇인지 동적으로 변경하거나 다른 것을 변경합니까?

답변

1

일반 I2C 장치 드라이버를 하나 만들고 해당 장치와 관련하여 개별 장치를 구현해야합니다. RTOS를 사용하는지 또는 멀티 스레딩 환경을 사용하는지와 같은 여러 가지 문제에 정확히 어떻게 의존합니까?

예를 들어 EEPROM 장치가 상호 배타를 관리하거나 응용 프로그램의 필요에 따라 버스에서 트랜잭션을 조회하는 I2C 드라이버를 사용하는 반면 EEPROM 장치 인터페이스는 아마도 상호 배타적 인 액세스를 처리합니다 EEPROM 자체; 버스의 요구 사항을 장치의 요구 사항과 궁극적으로 응용 프로그램의 요구 사항으로 구분합니다.