사용 보드 : STM32F103C8T6
1. Clock 설정하기
System Core -> RCC -> HSE 와 LSE 를Crystal/Ceramic Resonator로 설정해준다.
이유는 보드의 Schematic에서 클럭을 확인을 하면
Crystal로 만드는 것을 확인할 수 있다. (Y1,Y2)
그렇기에Crystal로 설정을 해준다.
2. Debug Mode 잡기
Debug 모드를Serial Wire로 하고 Timebase SourceSysTick으로 설정한다. 이걸 해줘야 볼 수 있는 것 같다.
3. USB 설정
Connectivity -> USB, Device(FS) 를 설정을 하게 되면
Middleware 부분에USB_DEVICE라는 것을 활성화 할 수 있는데 이것을
CDC ( Communication Device Class) 로 설정을 해주면 끝이다 ~!
4. Clock 설정
이거 다하면 코드를 만드려고 할 때 경고 같은게 뜨는데 그건 Clock이 안맞아서 뜨는 에러로
Yes 누르고Reslove Clock Issues이거 누르면 자동으로 맞춰준다.
1. 파일 확인
Middlewares-> ST -> STM32_USB_Device_Libary 확인
그리고 여러 usb_device 파일 확인하면 끝
2. 코드 작성
#include "usbd_cdc_if.h"
// main() 안에
uint8_t text[] = "hello world!\n\r";
while (1)
{
// text 와 text size를 매개변수로 받아서 CDC로 보냄
CDC_Transmit_FS(text, sizeof(text));
HAL_Delay(500);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
3. 결과 확인
이게 뜬건데 이거 경로 고대로 포트로 써주면 된다
이 포트대로 접속하게 되면 잘 나오는 것을 확인할 수 있다.
혹시나 Ubuntu 에서 했는데 안되면 컴퓨터를 재시작하거나, USB 포트를 다시 뽑았다 꼽아주는 방법을 해보길 바람