STM32를 Arduino 개발 환경에서 사용할 때 직렬 포트 조사 (STM32duino + STM32F103C8 : Blue Pill)
3866 단어 STM32ArduinoSTM32F103C8bluepill
BluePill 시리얼 포트
h tp // 우우키. stm32의. 코 m / 속눈썹 s / 아 / 어 / B ぅ에 핏 l 피노 t. 기 f
이 그림에 따르면,
PIN NAME
USART
PA9
TX1
PA10
RX1
PB6
TX1
PB7
RX1
PA2
TX2
PA3
RX2
PB10
TX3
PB11
RX3
하테?
TX1과 RX1이 두 가지 있습니다.
그러고 보면, Arduino 개발 환경(STM32duino)상에서는 USB 포트가 가상 시리얼 포트가 되어 있어 시리얼 모니터등도 사용할 수 있게 되어 있군요. 소프트웨어 시리얼과의 겸용도 포함해, 거기 어떻게 되는지 조사해 보았습니다.
STM32duino의 Serial 객체
이런 느낌의 프로그램으로 조사해 보았습니다.
void setup(){
Serial.begin(19200);
while (!Serial.isConnected()) delay(100);
Serial.println("Serial port");
}
...
이것이 어디에 출력되는지는 Upload Method 에 따라 다릅니다.
Upload Method
Serial 객체의 출력 대상
업로드 대상 (Blue Pill의 물리적 포트)
Upload 연결에 사용한 하드웨어
Linux의 장치
STM32duino bootloader
Blue Pill의 microUSB 커넥터
Blue Pill의 microUSB 커넥터
Micro USB 케이블
/dev/ttyACM0 (Maple Mini)
Serial
PA9 TX1 PA10 RX1
PA9 TX1 PA10 RX1
아키즈키 전자 「FT232RQ USB 시리얼 변환 키트 시리얼 어댑터」
STLink
Blue Pill의 microUSB 커넥터
SWD(직렬 와이어 디버그) 포트
ST-LINK/V2(아마 파티몬)
Serial1,Serial2,Serial3
하드웨어 직렬 포트가 많이 있지만, 어디에 연결되어 있습니까?
USB 부트 로더에서 작성한 경우 및 ST-Link로 작성한 경우
PinName
Signal
Serial Object
PA9
TX1
Serial1
PA10
RX1
Serial1
PB6
TX1
PB7
RX1
PA2
TX2
Serial2
PA3
RX2
Serial2
PB10
TX3
Serial3
PB11
RX3
Serial3
TX1과 RX1에 USB 시리얼을 연결하여 쓴 경우
PinName
Signal
Serial Object
PA9
TX1
Serial
PA10
RX1
Serial
PB6
TX1
PB7
RX1
PA2
TX2
Serial1
PA3
RX2
Serial1
PB10
TX3
Serial2
PB11
RX3
Serial2
음, USB에 의한 가상 시리얼 포트를 사용할 수 있을 때는 그것이 Serial 객체에, 그렇지 않으면 USART1이 Serial 객체가 되어, 각각으로 번호가 어긋나는 것 같네요.
덧붙여서 TX1과 RX1에 USB 시리얼을 연결해 쓴 경우, Serial3을 지정하면 에러가 되었습니다.
STM32F103 칩의 직렬 포트
그런데 위 그림의 PB6, PB7에 있는 TX1, RX1이란 무엇입니까?
데이터시트를 보았습니다.
h tp // w w. St. 코 m / 콘텐 t / st_ 코 m / 자 / p 로즈 cts / 미 c 로콘 t 롯 rs / stm32-32 st m m m s / stm32f1 - 세리 s / stm32f103 / stm32f103c8. HTML
이에 따르면, STM32F103Cx의 USART는 3개 있다.
PIN 이름
USART
Default/Remap
PA9
USART1_TX
Default
PA10
USART1_RX
Default
PB6
USART1_TX
Remap
PB7
USART1_RX
Remap
PA2
USART2_TX
Remap
PA3
USART2_RX
Remap
PA10
USART3_TX
Remap
PA11
USART3_RX
Remap
그래서 소프트웨어의 지정에 의해 USART1은 PA9/PA10에서 PB6/PB7로 리맵 할 수 있다고 합니다.
아직 조사하지 않았지만 Arduino 개발 환경에서도 그러한 설정을 할 수 있을지도 모르겠네요.
STM32duino의 가상 직렬 포트
AVR을 사용한 Arduino 개발 환경에서는 비교적 가상 시리얼 포트를 자유롭게 사용할 수 있으므로 STM32duino에서도 사용할 수 있을까 생각했습니다만
#include <SoftwareSerial.h>
그러면 오류가 발생했습니다.
h tp // w w. stm32의. 이 m/ゔぃ에 w와 피 c. php? f=13&t=6
이런 논의나 개발도 되고 있는 것 같습니다만, 적어도 STM32duino의 본가이다
그럼 소프트웨어 시리얼은 사용할 수 없는 것 같습니다.
Reference
이 문제에 관하여(STM32를 Arduino 개발 환경에서 사용할 때 직렬 포트 조사 (STM32duino + STM32F103C8 : Blue Pill)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nanbuwks/items/5a01b924b192d5d36b31
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이런 느낌의 프로그램으로 조사해 보았습니다.
void setup(){
Serial.begin(19200);
while (!Serial.isConnected()) delay(100);
Serial.println("Serial port");
}
...
이것이 어디에 출력되는지는 Upload Method 에 따라 다릅니다.Upload Method
Serial 객체의 출력 대상
업로드 대상 (Blue Pill의 물리적 포트)
Upload 연결에 사용한 하드웨어
Linux의 장치
STM32duino bootloader
Blue Pill의 microUSB 커넥터
Blue Pill의 microUSB 커넥터
Micro USB 케이블
/dev/ttyACM0 (Maple Mini)
Serial
PA9 TX1 PA10 RX1
PA9 TX1 PA10 RX1
아키즈키 전자 「FT232RQ USB 시리얼 변환 키트 시리얼 어댑터」
STLink
Blue Pill의 microUSB 커넥터
SWD(직렬 와이어 디버그) 포트
ST-LINK/V2(아마 파티몬)
Serial1,Serial2,Serial3
하드웨어 직렬 포트가 많이 있지만, 어디에 연결되어 있습니까?
USB 부트 로더에서 작성한 경우 및 ST-Link로 작성한 경우
PinName
Signal
Serial Object
PA9
TX1
Serial1
PA10
RX1
Serial1
PB6
TX1
PB7
RX1
PA2
TX2
Serial2
PA3
RX2
Serial2
PB10
TX3
Serial3
PB11
RX3
Serial3
TX1과 RX1에 USB 시리얼을 연결하여 쓴 경우
PinName
Signal
Serial Object
PA9
TX1
Serial
PA10
RX1
Serial
PB6
TX1
PB7
RX1
PA2
TX2
Serial1
PA3
RX2
Serial1
PB10
TX3
Serial2
PB11
RX3
Serial2
음, USB에 의한 가상 시리얼 포트를 사용할 수 있을 때는 그것이 Serial 객체에, 그렇지 않으면 USART1이 Serial 객체가 되어, 각각으로 번호가 어긋나는 것 같네요.
덧붙여서 TX1과 RX1에 USB 시리얼을 연결해 쓴 경우, Serial3을 지정하면 에러가 되었습니다.
STM32F103 칩의 직렬 포트
그런데 위 그림의 PB6, PB7에 있는 TX1, RX1이란 무엇입니까?
데이터시트를 보았습니다.
h tp // w w. St. 코 m / 콘텐 t / st_ 코 m / 자 / p 로즈 cts / 미 c 로콘 t 롯 rs / stm32-32 st m m m s / stm32f1 - 세리 s / stm32f103 / stm32f103c8. HTML
이에 따르면, STM32F103Cx의 USART는 3개 있다.
PIN 이름
USART
Default/Remap
PA9
USART1_TX
Default
PA10
USART1_RX
Default
PB6
USART1_TX
Remap
PB7
USART1_RX
Remap
PA2
USART2_TX
Remap
PA3
USART2_RX
Remap
PA10
USART3_TX
Remap
PA11
USART3_RX
Remap
그래서 소프트웨어의 지정에 의해 USART1은 PA9/PA10에서 PB6/PB7로 리맵 할 수 있다고 합니다.
아직 조사하지 않았지만 Arduino 개발 환경에서도 그러한 설정을 할 수 있을지도 모르겠네요.
STM32duino의 가상 직렬 포트
AVR을 사용한 Arduino 개발 환경에서는 비교적 가상 시리얼 포트를 자유롭게 사용할 수 있으므로 STM32duino에서도 사용할 수 있을까 생각했습니다만
#include <SoftwareSerial.h>
그러면 오류가 발생했습니다.
h tp // w w. stm32의. 이 m/ゔぃ에 w와 피 c. php? f=13&t=6
이런 논의나 개발도 되고 있는 것 같습니다만, 적어도 STM32duino의 본가이다
그럼 소프트웨어 시리얼은 사용할 수 없는 것 같습니다.
Reference
이 문제에 관하여(STM32를 Arduino 개발 환경에서 사용할 때 직렬 포트 조사 (STM32duino + STM32F103C8 : Blue Pill)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nanbuwks/items/5a01b924b192d5d36b31
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그런데 위 그림의 PB6, PB7에 있는 TX1, RX1이란 무엇입니까?
데이터시트를 보았습니다.
h tp // w w. St. 코 m / 콘텐 t / st_ 코 m / 자 / p 로즈 cts / 미 c 로콘 t 롯 rs / stm32-32 st m m m s / stm32f1 - 세리 s / stm32f103 / stm32f103c8. HTML
이에 따르면, STM32F103Cx의 USART는 3개 있다.
PIN 이름
USART
Default/Remap
PA9
USART1_TX
Default
PA10
USART1_RX
Default
PB6
USART1_TX
Remap
PB7
USART1_RX
Remap
PA2
USART2_TX
Remap
PA3
USART2_RX
Remap
PA10
USART3_TX
Remap
PA11
USART3_RX
Remap
그래서 소프트웨어의 지정에 의해 USART1은 PA9/PA10에서 PB6/PB7로 리맵 할 수 있다고 합니다.
아직 조사하지 않았지만 Arduino 개발 환경에서도 그러한 설정을 할 수 있을지도 모르겠네요.
STM32duino의 가상 직렬 포트
AVR을 사용한 Arduino 개발 환경에서는 비교적 가상 시리얼 포트를 자유롭게 사용할 수 있으므로 STM32duino에서도 사용할 수 있을까 생각했습니다만
#include <SoftwareSerial.h>
그러면 오류가 발생했습니다.
h tp // w w. stm32의. 이 m/ゔぃ에 w와 피 c. php? f=13&t=6
이런 논의나 개발도 되고 있는 것 같습니다만, 적어도 STM32duino의 본가이다
그럼 소프트웨어 시리얼은 사용할 수 없는 것 같습니다.
Reference
이 문제에 관하여(STM32를 Arduino 개발 환경에서 사용할 때 직렬 포트 조사 (STM32duino + STM32F103C8 : Blue Pill)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nanbuwks/items/5a01b924b192d5d36b31
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#include <SoftwareSerial.h>
Reference
이 문제에 관하여(STM32를 Arduino 개발 환경에서 사용할 때 직렬 포트 조사 (STM32duino + STM32F103C8 : Blue Pill)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nanbuwks/items/5a01b924b192d5d36b31텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)