우선 프로젝트를 열어서 컴파일 해보니 에러는 없고 고급 타이머 TIM1 보완 출력 프로그램을 사용하고 출력 신호 핀은 각각 PA8, PB13 입니다.
사용하기 전에 몇 가지 구성 변경
: keil5에서 마술 지팡이 옵션을 클릭합니다: 디버그를 선택하고 위쪽 원에 있는 실름레이터 사용을 체크한 다음 실제 필요에 따라 두 번째 원을 변경합니다(F103RC를 사용하는 경우 CM3, F103ZET6 사용, ZE를 RC로 변경), 아래 그림과 같이:
구성을 변경한 후 위의 디버그 버튼을 클릭한
다음 여기에서 가상 오실로스코프 버튼을 클릭하여 소프트웨어 시뮬레이션 인터페이스로 들어가고
설정을 위해 여기를 클릭하십시오 구성 인터페이스를 입력하고 클릭하십시오 오른쪽 상단의 상자에 감지 및 출력할 GPIO 핀 번호를 추가한 다음(여기서는 PA8을 사용하고 입력 형식은 GPIOX_IDR.n임) Enter 키를 눌러 확인합니다.
표시 종류 에서 비트(bit)를 선택한 후 닫기를 클릭하여 창을 닫습니다.
(여기서 알 수 없는 신호와 같은 오류 메시지가 나온다면 1단계에서 요술봉에 설정한 것들이 제대로 설정되지 않은 것이므로 다시 설정하면 됩니다.) 그런 다음 왼쪽 상단의 전속 실행 버튼 을 클릭
하면 파형의 출력을 볼 수 있습니다. 다음은 PA8의 보완 출력인 PB13 핀을 추가한 후의 효과입니다. 이상 .
///다시 채우다:
이 가상 환경에서 출력 PWM의 주기 및 주파수를 보는 방법: 출력
파형을 최대 속도로 실행한 후 마우스 휠을 사용하여 PWM 파형의 크기를 적절한 크기로 변경하고 임의로 파형 위치를 선택합니다. (끝점을 선택하는 것이 좋습니다), 그래프 하단에 시간 1이 표시되고 PWM 끝에 마우스를 대면 시간 2가 표시되며 주기 = 시간 2-시간 1이며 주파수는 이 사이클에서 계산됩니다. 두 개의 pwm 파동을 선택한 경우 결과를 2로 나눕니다.
듀티 사이클도 유사하게 계산할 수 있으며 하이 레벨(로우 레벨) 시간을 계산한 다음 주기로 나누기만 하면 됩니다.
아래 그림과 같이:
참고:
이 방법으로 계산된 출력 주파수는 실제 출력 주파수이며 소프트웨어 프로그램의 오류로 인해 프로그램에 설정된 값과 다를 수 있습니다. 프로그램에서 주파수를 10KHZ로 설정하면 실제 출력은 9KHZ만 될 수 있습니다. 그러나 이 결과는 오실로스코프를 사용한 실제 측정과 일치합니다.