아하
생활
이타치처럼탈주
이타치처럼탈주
19.06.18

SPI 통신에서 TransmitReceive 함수가 작동하지 않습니다.

uint8_t tx = 0x06;
uint8_t rx = 0x00;

HAL_SPI_TransmitReceive_IT(&hspi1, (uint_8t*)tx, (uint8_t*)rx, sizeof(uint16_t));

위 코드 실행 후, rx 값을 확인해보면 Master가 보낸 값이 출력되지 않으며
tx의 값 또한 Master로 전송되고 있지 않습니다.

아래는 Master(Arduino Uno) 코드입니다.

void setup(void) {
SPI.begin();
digitalWrite(SS, HIGH);
SPI.setClockDivider(SPICLOCKDIV16);
SPI.setDataMode(SPI_MODE1);
Serial.begin(9600);
}

void loop(void) {
digitalWrite(SS, LOW);
byte A = SPI.transfer(0100);
delay(5);
digitalWrite(SS, HIGH);
Serial.println(A);
delay(1000);
}

55글자 더 채워주세요.
1개의 답변이 있어요!
  • pay2id.com
    pay2id.com
    19.06.18

    혹시나 해서 여쭤보는건데요

    아두이노로 저 프로그램을 실행하실때 TX,RX,GND 를 코드 연결해주셨나요?

    3개중에 1개라도 연결을 안해주셨다면

    완벽한 소스도 실행결과가 안나옵니다

    아두이노의 점퍼를 확인해주세요

    그런 다음에 잘 연결했는데도 불구하고 안나오시는거라면

    재 질문 부탁드립니다