SPI 링크를 플로트 (float)로 보내려면 약간의 코드가 필요했습니다. 이해하기가 힘듭니다.float을 SPI 링크로 보내기위한 코드
혼란먼저 점 : * (uint32_t의 *) (F &)
혼란번째 점 : uint8_t * 바이트 = (uint8_t *) (& DWORD);
는 혼란의세 번째 점 : 가 (INT는 전 = 0; 나는 <를 sizeof (uint32_t); 내가 ++, 바이트 ++) 사람이 더 좋은 방법을 알고 있다면 또한
void spi_send_dword(SPI_TypeDef *spi, uint32_t dword) {
uint8_t *byte = (uint8_t *)(&dword);
for(int i = 0 ; i < sizeof(uint32_t) ; i++, byte++)
spi_transfer_byte(spi, *byte);
} // spi_send_float()
void spi_send_float(SPI_TypeDef *spi, float f) {
spi_send_dword(spi, *(uint32_t *)(&f));
} // spi_send_float()
는이 작업을 수행하는 나는 그것을 듣고 싶다. 주변에서 아무 것도 찾을 수 없습니다.
코드가 정의되지 않은 동작을 호출합니다. 'union '을 사용하십시오. 또한이 코드는 구현에 매우 특정적일 것이다. 다른 플랫폼으로 데이터를 읽어야하는 경우 적절한 교환 형식을 정의하십시오. ASCII 표현. – Olaf