본문 바로가기

공부/STM32F1

34.[stm32f103][hal] CDC Printf 적용하기

반응형

https://hnydiy.tistory.com/76

 

28.[stm32f103][hal] CDC-Virtual Port Com

0. driver 1. STM32 Cube 2. 소스 usbd_cdc_if.c static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) { /* USER CODE BEGIN 6 */ USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]); Buf[*Len] = 0; //..

hnydiy.tistory.com

위에 포스터 처럼 CUBE 적용하시면 됩니다.

 

main.c

/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f1xx_hal.h"
#include "usb_device.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "string.h"
#include "usbd_cdc_if.h"

/* USER CODE END Includes */

 

.

.

.

 

/* USER CODE BEGIN 0 */
#ifdef __GNUC__
 #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
 #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
 
PUTCHAR_PROTOTYPE
{
 while(CDC_Transmit_FS((uint8_t *)&ch, 1) == USBD_BUSY);
 return ch;
}

/* USER CODE END 0 */

 

.

.

.

int main(void)
{

 .

 .

 .

  MX_GPIO_Init();
  MX_USB_DEVICE_Init();
  /* USER CODE BEGIN 2 */
  
  printf("CDC test\r\n");
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    printf("CDC test\r\n");
    HAL_Delay(1000);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 

 

결과

반응형

'공부 > STM32F1' 카테고리의 다른 글

36.[stm32f103][hal] ADS1115  (0) 2021.07.14
35.[stm32f103][hal] stm32f103 5V pin (FT)  (0) 2019.12.12
명령어 모음  (0) 2019.07.16
33.[stm32f103][hal] 소프트 리셋  (0) 2019.05.31
32.[stm32f103][hal] usart1 Interrupt  (2) 2019.04.25