سلام هدف اینه که ماژول dfplayer را با مگا8 راه اندازی کنم ، و با فشار میکروسئیچ 1 ترک اول پخش بشه و با زدن میکروسوئیچ دوم ترک 2 پخش شود.اما جواب نمیده این هم برنامه اش :
اگر کسی از ذوستان با این ماژول کار کرده و توانسته با mega8 راه اندازیش کنه راهنمایی کنه
#include <mega8.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
char current_track_number;
int default_buffer[10] = {0x7E , 0xFF , 0x06 , 0x00 , 0x00 , 0x00 , 0x00 , 0xEF}; // Default Buffer
int buffer_data[10] = {0x7E , 0xFF , 0x06 , 0x00 , 0x00 , 0x00 , 0x00 , 0xEF}; // Sending Buffer
// Send Buffer to UART TX Pin
void send_buffer(void) {
int i;
for( i=0; i< 10; i++){
putchar(buffer_data[i]);
buffer_data[i] = default_buffer[i];
}
}
// Set Volume And Send it's Serial Command
void set_volume( int volume ) {
buffer_data[3] = 0x06;
buffer_data[6] = volume;
send_buffer();
}
// Set a Track (1-3000) to Play
void play_track1(int track_id) {
buffer_data[3] = 0x03;
if(track_id < 256) {
buffer_data[6] = track_id;
} else {
buffer_data[5] = track_id / 256;
buffer_data[6] = track_id - 256 * buffer_data[6];
}
send_buffer();
}
// Set a Folder (1-255) and Track (1-255) to Play
void play_trackf(int folder_id, int track_id) {
buffer_data[3] = 0x0F;
buffer_data[5] = folder_id;
buffer_data[6] = track_id;
send_buffer();
}
// Set a Track to Play Continuous
void play_current_track_continuous(void) {
buffer_data[3] = 0x08;
buffer_data[6] = current_track_number;
send_buffer();
}
// Pause Current Playing Track
void pause_current_track() {
buffer_data[3] = 0x0E;
send_buffer();
}
void main(void)
{
DDRB.1=0;
DDRB.2=0;
PORTB.1=1;
PORTB.2=1;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;
while(1) {
if(PINB.1==0)
{
play_trackf(01, 001);
delay_ms(30);
}
if(PINB.2==0)
{
play_trackf(01, 002);
delay_ms(30);
}
}
}
اگر کسی از ذوستان با این ماژول کار کرده و توانسته با mega8 راه اندازیش کنه راهنمایی کنه
دیدگاه