openRB-150 에서 Serial3 을 사용하면 D1핀이 제대로 동작하지 않습니다

Microcontroller

openRB-150

Software Description

arduino IDE 2.1.1

Issue Description

Serial3 (D13(RX),D14(TX)) 을 사용할 경우 D1 핀이 제대로 동작하지 않습니다.
아래 코드에서 D1번핀은 5초 후( Serial3.println() 실행할때 ) LOW 가 됩니다.
openRB-150 를 두 개를 가지고 있는데 두개 모두 같은 증상이네요.

void setup() {
Serial3.begin(115200);
pinMode(1, OUTPUT);
digitalWrite(1, HIGH);
delay(5000);
}

void loop() {
Serial3.println(“test”); // 이 문장이 실행 되면 1번핀이 LOW 가 되고 이 후 digitalWrite() 가 동작 하지 않습니다.
delay(1000);
}

Serial3 을 사용하지 않을 경우에는 D1핀 사용에 아무 문제 없이 동작 합니다.
해결 방법이 있을까요?

For the OpenRB-150, Serial3 is associated to D13 and D14, as you mentioned. And Pins D0 and D1 are associated to Serial4, while Pins D2 and D3 are associated to Serial5. So I am unclear about what you tried to do with your code.

If you are OK with reading English, please check my free Amazon Kindle book sample at this link

and read up more details in Section 2.4 for hardware and software set up for all 4 UART ports on the OpenRB-150.

OpenRB-150_UART

May be you can use D4, D5, D6 or D7 instead of D1? I have used these digital pins as output before without any issue

Thanks for the reply.

It’s hard to change the pins because all the other pins are in use and the PCB is already built.

It seems to be an obvious bug that digitalWrite() on pin D1 does not work when using Serial3.

Fortunately, analogWrite() does work, so I’ll have to work around that with analogWrite().

1 Like