BASIC4MCU | 질문게시판 | ATmega128 질문 DFplayer mini
페이지 정보
작성자 Miin 작성일2024-10-18 00:25 조회6,557회 댓글1건본문
DFplayer mini를 사용해서 SD카드의 저장된 노래를 틀고 싶습니다.
Codevision으로 프로그래밍 중인데 아두이노와 달리 라이브러리가 없어 초보자라 어려움을 겪는 중입니다.
#include <mega128.h>
#include <delay.h>
#include <stdio.h>
#define F_CPU 16000000UL
#define BAUD 9600
#define UBR_VALUE ((F_CPU / (BAUD * 16UL)) - 1)
void uart_init(void) {
UBRR0H = (UBR_VALUE >> 8);
UBRR0L = UBR_VALUE;
UCSR0B = (1 << RXEN0) | (1 << TXEN0);
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);
}
void uart_send(unsigned char data) {
while (!(UCSR0A & (1 << UDRE0)));
UDR0 = data;
}
void send_command(unsigned char command, unsigned char param1, unsigned char param2) {
unsigned char checksum = 0xFF - (0xFF + command + param1 + param2) % 256;
uart_send(0x7E);
uart_send(0xFF);
uart_send(0x06);
uart_send(command);
uart_send(param1);
uart_send(param2);
uart_send(checksum);
uart_send(0xEF);
}
void play_track(unsigned char track) {
send_command(0x03, track, 0);
}
void main(void) {
uart_init();
while (1) {
play_track(1);
delay_ms(5000);
}
}
오류는 안뜨는데 어디 부분 때문에 안나오는지 잘 모르겠습니다.
댓글 1
조회수 6,557master님의 댓글
master 작성일
라이브러리를 분석하는 것은 고수라도 어렵습니다.
라이브러리를 분석해서 코드비젼 코드로 수정하든지
DFplayer mini 자료를 공부해서 코드를 만들어야 합니다.
포기하지 않으면 성공합니다만
초보자라면 시간이 더 오래 걸릴테니 쉽지는 않겠습니다.