Nucleo Board STM32F401re UART2 사용
소개
f401re는 3개의 UART를 사용할 수 있습니다만, 그 중의 1개가 구입시의 상태라고 사용할 수 없었기 때문에 사용할 수 있도록 했습니다.
이번 기사에서는 PlatformIO IDE for VSCode를 사용하고 있습니다만, 기사의 본제와는 별로 관계 없습니다.
운영 환경
이번 운영 환경은
이번 운영 환경은
STSTM32는 mbed 호환 stm32bit 마이크로 컴퓨터를 mbed로 작성하기위한 PlatformIO 플랫폼 중 하나입니다.
배선
PC와 Mini USB를 연결하는 것만으로 f401re의 전원이 켜지도록 리셋 버튼 바로 아래에 있는 점퍼를 PWR이 U5V와 연결되도록 교체합니다.
일단 저항을 사이에 끼워 UART1의 TX 핀(PA_9)과 UART2의 RX 핀(PA_3)을 연결합니다.
(mbed에서 사용하는 f401re의 핀 이름의 정의는 여기 의 mbed가 발행하고 있는 f401re의 개요 페이지에 있습니다)
테스트 프로그램
UART1의 TX에서 적당한 신호를 보내 UART2에서 받으면 L치카 하는 간단한 프로그램입니다.
src/main.cpp#include <mbed.h>
void Receiving();//受信時割り込み
Serial send(PA_9, PA_10, 19200);//(TX, RX, baud)
Serial receive(PA_2, PA_3, 19200);
DigitalOut userLED(PA_5);//LD2
int main() {
userLED = 0;
receive.attach(&Receiving,Serial::RxIrq);
while(1) {
send.putc('a');
wait(0.5);
}
}
void Receiving(){
userLED =!userLED;//Lチカ
receive.getc();//念のため
}
platformio.ini; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:nucleo_f401re]
platform = ststm32
board = nucleo_f401re
framework = mbed
주제
그러나 이것만으로는 UART2를 사용할 수 없습니다.
STMicroelectronics가 내놓고 있다 사용자 매뉴얼 를 보면, 8.3 USART communication에(이 기사에서는 UART로서 사용하고 있습니다만), USART2는 디폴트에서는 PA_2/PA_3에는 연결되어 있지 않고, 대신에 SB13과 SB14를 개입시켜 가상 COM과 연결되어 있습니다.
한층 더 페이지를 진행하면(자), 그런 그림도 나옵니다.
(아래 이미지의 SB62/SB63의 다리 같은 곳을 연결하면 연결될 것 같다)
아래 이미지는 Figure 29. ST-LINK/V2-1의 일부입니다. PA2/PA3가 SB14/SB13을 통해 STLINK의 TX/RX와 연결되어 있습니다.
f401re 뒷면의 빨간색 프레임 부분, SB62/SB63을 연결하여 SB13/SB14의 0Ω 저항을 제거합니다.
.
.
.
할 수 있었습니다.
프로그램을 실행하면, 1초 주기로 L치카하고 있는 것을 확인할 수 있었습니다.
보내는 것을 UART2로 바꾸어도 L치카 할 수 있었으므로, TXRX 함께 정상적으로 움직이고 있는 것 같습니다.
요약
이 핀의 접속법(이라고 하는지 보드의 설계)은 MB1136을 베이스로 한 STM32 Nucleo-64 마이크로컴퓨터에서 공통인 것 같기 때문에 nucleo f411re나 그 외의 마이크로 컴퓨터에서도 같은 작업을 실시할 필요가 있다.
그리고 이 작업을 하면 USBTX/USBRX를 사용할 수 없게 된다.
하지만, 이번 자신은 그 기능은 필요 없었다면 좋을까라고 생각한다.
또, 자신의 메모용으로 생각해 처음으로 Qiita로 기사를 써 보았지만, 거기에 있어서 다양한 사이트를 조사해 보다 이해가 깊어졌으므로, 또 뭔가 있으면 기사를 써 가려고 생각한다.
Reference
이 문제에 관하여(Nucleo Board STM32F401re UART2 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sora_nag/items/128ec56d87f5762d1c64
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
UART1의 TX에서 적당한 신호를 보내 UART2에서 받으면 L치카 하는 간단한 프로그램입니다.
src/main.cpp
#include <mbed.h>
void Receiving();//受信時割り込み
Serial send(PA_9, PA_10, 19200);//(TX, RX, baud)
Serial receive(PA_2, PA_3, 19200);
DigitalOut userLED(PA_5);//LD2
int main() {
userLED = 0;
receive.attach(&Receiving,Serial::RxIrq);
while(1) {
send.putc('a');
wait(0.5);
}
}
void Receiving(){
userLED =!userLED;//Lチカ
receive.getc();//念のため
}
platformio.ini
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:nucleo_f401re]
platform = ststm32
board = nucleo_f401re
framework = mbed
주제
그러나 이것만으로는 UART2를 사용할 수 없습니다.
STMicroelectronics가 내놓고 있다 사용자 매뉴얼 를 보면, 8.3 USART communication에(이 기사에서는 UART로서 사용하고 있습니다만), USART2는 디폴트에서는 PA_2/PA_3에는 연결되어 있지 않고, 대신에 SB13과 SB14를 개입시켜 가상 COM과 연결되어 있습니다.
한층 더 페이지를 진행하면(자), 그런 그림도 나옵니다.
(아래 이미지의 SB62/SB63의 다리 같은 곳을 연결하면 연결될 것 같다)
아래 이미지는 Figure 29. ST-LINK/V2-1의 일부입니다. PA2/PA3가 SB14/SB13을 통해 STLINK의 TX/RX와 연결되어 있습니다.
f401re 뒷면의 빨간색 프레임 부분, SB62/SB63을 연결하여 SB13/SB14의 0Ω 저항을 제거합니다.
.
.
.
할 수 있었습니다.
프로그램을 실행하면, 1초 주기로 L치카하고 있는 것을 확인할 수 있었습니다.
보내는 것을 UART2로 바꾸어도 L치카 할 수 있었으므로, TXRX 함께 정상적으로 움직이고 있는 것 같습니다.
요약
이 핀의 접속법(이라고 하는지 보드의 설계)은 MB1136을 베이스로 한 STM32 Nucleo-64 마이크로컴퓨터에서 공통인 것 같기 때문에 nucleo f411re나 그 외의 마이크로 컴퓨터에서도 같은 작업을 실시할 필요가 있다.
그리고 이 작업을 하면 USBTX/USBRX를 사용할 수 없게 된다.
하지만, 이번 자신은 그 기능은 필요 없었다면 좋을까라고 생각한다.
또, 자신의 메모용으로 생각해 처음으로 Qiita로 기사를 써 보았지만, 거기에 있어서 다양한 사이트를 조사해 보다 이해가 깊어졌으므로, 또 뭔가 있으면 기사를 써 가려고 생각한다.
Reference
이 문제에 관하여(Nucleo Board STM32F401re UART2 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sora_nag/items/128ec56d87f5762d1c64
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 핀의 접속법(이라고 하는지 보드의 설계)은 MB1136을 베이스로 한 STM32 Nucleo-64 마이크로컴퓨터에서 공통인 것 같기 때문에 nucleo f411re나 그 외의 마이크로 컴퓨터에서도 같은 작업을 실시할 필요가 있다.
그리고 이 작업을 하면 USBTX/USBRX를 사용할 수 없게 된다.
하지만, 이번 자신은 그 기능은 필요 없었다면 좋을까라고 생각한다.
또, 자신의 메모용으로 생각해 처음으로 Qiita로 기사를 써 보았지만, 거기에 있어서 다양한 사이트를 조사해 보다 이해가 깊어졌으므로, 또 뭔가 있으면 기사를 써 가려고 생각한다.
Reference
이 문제에 관하여(Nucleo Board STM32F401re UART2 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sora_nag/items/128ec56d87f5762d1c64텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)