SPI를 통해서 FND세그먼트를 제어하는데 궁금한게 있습니다. 똑같이 따라했는데 작동하지 않아 Clock Polarity를 LOW로 바꿨더니 정상적으로 작동을 합니다. Clock Polarity의 값을 정하는 기준이 정확히 무엇인지 잘 모르겠습니다. 제가 이해하기로는 평상시에 SCLK이 High이기 때문에 Clock Polarity도 High 가 되어야 하는걸로 알고있는데 왜 반대로 설정할때 정상적으로 작동하는 걸까요?
안녕하세요, SPI 통신 관련하여 질문이 있습니다. RTOS를 활용하여 Master에서 Slave로부터 Buffer를 transmit하고 receive하고자 합니다. Slave는 Mbed OS를 활용하여 코드를 작성하였고, slave MCU에서는 buffer가 receive는 매우 잘 되고 있습니다. Master MCU에서는 transmit는 잘 되는데 반면, 크기가 66인 buffer를 받고 있는데, 각 데이터의 값은 16, 17, ..., 45, 0, ..., 0의 값을 받아야 합니다. HAL_SPI_TransmitReceive_DMA를 활용하고 있고, 이 과정에서 RTOS를 사용하였는데, osDelay를 5ms로 하면 잘 받아지는데 2ms로 하면 계속해서 값이 0과 받아야 하는 값으로 순차적으로 바뀌어 올바른 값이 받아지지 않습니다. static한 값을 받아야 하는데 계속해서 바뀌는 것으로 보아 제대로 되지 않는 것 같은데, 이 문제를 어떻게 해결해야 할지 모르겠습니다. osDelay는 2ms로만 해야 해서 이를 변경하지 않고 문제를 해결할 방법이 있을까요? 감사합니다.