반응형

임베디드강좌 3

A31G123ML + Keil uVision : PWM 출력으로 LED 밝기/부저 음 조절하기 — TIMER16 활용

🎵 A31G123ML + Keil uVision — PWM으로 LED 밝기 & 부저 제어하기이번 실습에서는 ABOV A31G123ML의 TIMER16을 이용하여 PWM(Pulse Width Modulation) 신호를 생성하고, LED 밝기 조절이나 부저 음 조절에 활용해보겠습니다.🧰 준비물 ABOV A31G123ML 보드 LED or 부저 (Passive) 220Ω 저항 (LED)🔌 회로 연결 P1.0 → LED(애노드) → 220Ω → GND 혹은 부저 + GND 연결 (PWM 제어 가능)💻 코드 예시: PWM 듀티 변경#include "A31G123.h"void pwm_init(void){ // P1.0 = TIMER16_0 PWM 출력 PORT1->MODE |= (1..

ARM 2025.04.18

A31G123ML + Keil uVision : 외부 인터럽트로 버튼 누르기 — EXINT 설정과 토글 제어

🔘 A31G123ML + Keil uVision — 외부 인터럽트로 버튼 누르기이번 실습에서는 버튼을 누르면 인터럽트가 발생하고, 그에 따라 LED가 토글되는 구조를 구성해보겠습니다.이는 CPU가 대기 없이 이벤트에 반응하는 구조이기 때문에, 실시간 시스템 개발에 매우 중요합니다.🧰 준비물 ABOV A31G123ML 보드 푸시버튼 1개 LED 1개 풀다운 저항 (10kΩ)🧱 회로 연결 버튼: P1.0 (입력 핀) → 5V / GND → 풀다운 LED: P0.0 (출력 핀)💻 코드 예시: 버튼 누르면 LED 토글#include "A31G123.h"volatile uint8_t led_state = 0;void EXINT0_IRQHandler(void){ if (EXINT->PEN..

ARM 2025.04.18

Keil uVision으로 ABOV A31G123ML 첫 LED 깜빡이기

💡 Keil uVision으로 ABOV A31G123ML 첫 LED 깜빡이기이번 시리즈에서는 ABOV사의 A31G123ML MCU를 사용해 Keil uVision5 환경에서 직접 펌웨어를 작성하는 과정을 다룹니다.1편에서는 LED 깜빡이기를 통해 기본 GPIO 레지스터 제어와 프로젝트 세팅을 익혀봅니다.🧰 준비물 ABOV A31G123ML 보드 USB to UART 또는 JTAG 디버거 Keil uVision5 ABOV Device Pack (Keil Pack Installer에서 설치)🧱 프로젝트 생성 Keil → New Project → Device 선택: A31G123 Startup 코드 자동 생성 또는 ABOV SDK 참고 main.c 파일 추가💻 main.c 코드 예시P00..

ARM 2025.04.18
반응형