나는 다음 한 C 문제 : 나는 (마스터로) SPI 버스를 제어하는 하드웨어 모듈, 현실을 부르 자이 SPI_control, 그것은있어 ((static
가) & 쓰기 및 Init()
및 WriteRead()
기능 "공개"를 읽어 민간 모르는 사람들을 위해 SPI는 전이중입니다. 즉, 쓰기는 항상 버스에서 데이터를 읽습니다. 이제는 특정 프로토콜을 통합 한 상위 모듈에 액세스 가능하게해야합니다. 상단 모듈을 교정 해 보겠습니다. TDM 및 AC. 두 개의 개별 스레드에서 실행되고 하나는 다른 트랜잭션에 의해 중단되지 않을 수 있습니다 (트랜잭션의 nmiddle에있을 때 먼저 완료해야 함).세마포의 큐 - 심지어 가능합니까?
그래서 내가 생각 하나 가능성은 SPI_ENG 모듈 inbween 및 데이터 흐름을 제어하는 SPI_control을 통합하고 중단 할 수 있는지 알고 무엇을 할 수없는 것입니다 - 그것은 앞으로 데이터 따라 다음 것 spi_control. 하지만 독립적 인 작업을 수행 할 수 있습니까? AC & ** TDM은 spi_control과 통신 할 수 있습니까? 해당 유형의 ok 세마포 큐에서 쓰고 읽을 수 있습니까? 이것이 어떻게해야합니까?
뮤텍스 (및 우선 순위 역전 기능)의 출처는 어디입니까? –
@barak manos 감사하지만 이것은 정상적인 전송 완료를 위해 중단되어서는 안되는 프로토콜의 트랜잭션을 처리하지 않습니다. – cerr
왜 안 되니? 뮤텍스를 소유 한 현재 스레드가 완료 될 때까지 SPI에 액세스하려는 스레드는 뮤텍스에 의해 차단됩니다. –