묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
STM에서 제공하는 SPI 모드의 Clock Polarity 설정에 관해서 여쭤봅니다
SPI를 통해서 FND세그먼트를 제어하는데 궁금한게 있습니다. 똑같이 따라했는데 작동하지 않아 Clock Polarity를 LOW로 바꿨더니 정상적으로 작동을 합니다. Clock Polarity의 값을 정하는 기준이 정확히 무엇인지 잘 모르겠습니다. 제가 이해하기로는 평상시에 SCLK이 High이기 때문에 Clock Polarity도 High 가 되어야 하는걸로 알고있는데 왜 반대로 설정할때 정상적으로 작동하는 걸까요?
-
미해결HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌
SPI 통신 질문
안녕하세요, 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로만 해야 해서 이를 변경하지 않고 문제를 해결할 방법이 있을까요?감사합니다.