본문 바로가기
Programming/Embedded

[STM32F103C8] USART통신 X CDC통신 : 문자열 전송

by No Brainer 2022. 2. 20.

<CUBEMX설정>

클럭설정-HCLK-72MHZ

RCC-HSE/LSE-Crystal/ceramic

SYS-sirial wire

connectivity-usb-체크

middleware-usb device - communication device~

usart1-asynchronous, 보드레이트 맞춤, NVIC 들어가서 체크박스 체크

 

<TRUESTUDIO>

WHILE문 안에

HAL_UART_Transmit(&huart1, bufftx, sizeof(bufftx), 100) ;  // send data using uart1

구문 넣어주면 된다.
CDC통신 관련 내용은 앞절의 포스팅을 참조하여 동일하게 작성해주면 된다.
bufftx가 char uint8_t형으로 선언되어있어서, sprintf함수 부근에서 경고가 뜨는데 작동시키는데는 큰 무리없다.
 
 
작동되는 모습이다.
usb-serial 컨버터가 없어서 아두이노메가로 시리얼 입력을 받아 띄웠다.
 
 
void setup() {
  // put your setup code here, to run once:
Serial1.begin(9600);
Serial.begin(9600);
}
 
void loop() {
 
 
if(Serial1.available()){
  String a;
  a= Serial1.readStringUntil('\n');
 
 Serial.println(a);
}
 
}
 
아두이노 코드는 다음과 같다.