5장 - 예제2

조재훈·2023년 6월 15일

scanf 기능 사용하기

  • virtual 통신포트 이용
  • scanf문으로 %s %d 사용
  • teraterm으로 이름과 나이 입력
  • 저장 후 printf로 출력

핀 구성

  • 기본 핀 구성

코드 작성

main.c

#include <stdio.h>

unsigned char MyName[64];
unsigned char printbuff[256];
unsigned int MyAge;
int _write(int file, unsigned char* p, int len)
{

  HAL_StatusTypeDef status = HAL_UART_Transmit(&huart3, p, len, 100);
  return (status == HAL_OK ? len : 0);
}

int _read(int fd, char* ptr, int len)
{
  HAL_StatusTypeDef status;

  __HAL_UART_CLEAR_OREFLAG(&huart3);
  status = HAL_UART_Receive(&huart3, (uint8_t*) ptr, 1, 0xFFFF);
  if (status == HAL_OK)
  {
    HAL_UART_Transmit(&huart3, (uint8_t*) ptr, 1, 10);
    return 1;
  }
  else
    return -1;
}

int main(void)

  while (1)
  {
    printf("\r\nWhat is your name:");
    scanf("%s", MyName);
    printf("\r\nHow old are you:");
    scanf("%d", &MyAge);
    printf("\n\n\rMy Name is %s, My Age is %d", MyName, MyAge);
    sprintf(printbuff, "\n\n\rMy Name is %s, My Age is %d", MyName, MyAge);
    printf("%s", printbuff);
  }


profile
맨땅에 헤딩. 인생은 실전.

0개의 댓글