📄 wireless.c
字号:
#include "reg24le1.h"
#include "config.h"
#include "wireless_api.h"
#include "rf24le1.h"
#include "LCD.h"
#include "Sys.h"
#include "Zlg7289.h"
#include "mp3.h"
#define SEND_24LE1 //如果屏蔽就是接受,如果是有该宏定义就是发射
#define max 100
#define min 0
#ifdef SEND_24LE1
char buffer[6]={1,0,1,4,0,0}; //存储定义
#else
char rbuffer[6]={0,0,0,4,0,0};
#endif
unsigned char xuhao=0;
char minute=0,second=0; //时间积累
//定时器1初始化
void time1_init(void)
{
TMOD=0X10;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET1=1;
EA=1;
TR1=1;
}
void main(void)
{
char num=0;
int step=0;
system_init();
wireless_init();
#ifdef SEND_24LE1
baudinint(38400); //波特率设置成38400
time1_init(); //定时器1初始化
#else
baudinint(9600); //波特率设置成9600
delay(20);
MP3_rst();
#endif
#ifdef SEND_24LE1
delay(100);
DwinClear();
DwinPicture(19); //设置启动界面
while(step<200)
{
DwinJingdu(50,100,step);
step++;
delay(100);
}
delay(2000);
DwinClear();
DwinPicture(20);
dispword();
#endif
#ifdef SEND_24LE1
Rf24L01_RxTx_Switch(PTX);
#else
Rf24L01_RxTx_Switch(PRX);
#endif
delay(10000);
#ifdef SEND_24LE1
DwinPicture(17);
#endif
EA=1;
while(1)
{
#ifdef SEND_24LE1 //无线数据发送端
showvol(buffer[3]); //
showtitle(buffer[2],minute,second); //显示标题
num=getkey(buffer); //输入的状态
switch(num)
{
case stop:buffer[0]=1;buffer[1]=0;showstop();TR0=0;break; //暂停和播放的状态位
case play:buffer[0]=0;buffer[1]=1;showplay();TR0=1;break;
case next:buffer[2]++;if(buffer[2]>max)buffer[2]=min;shownext();break; //歌曲数目
case back:buffer[2]--;if(buffer[2]<min)buffer[2]=max;showback();break;
case volp:buffer[3]++;if(buffer[3]>7)buffer[3]=8;break; //音量
case vold:buffer[3]--;if(buffer[3]<1)buffer[3]=0;break;
case voln:if(buffer[4])buffer[4]=0;else buffer[4]=1;break;
default:break;
}
if(num!=0) //发送控制命令出去 //显示音量
{
Rf24L01_TX((unsigned char*)buffer,6); //发送控制命令
delay(5);
debug(buffer);
P07=!P07;
}
#else //无线接收端
if (Rf24L01_Polling_IRQ((unsigned char *)rbuffer)==RX_DR)//receive the data
{
P07=!P07;
//debug(rbuffer);
if(rbuffer[0]==1)
{
MP3_stop();
}
else
{
MP3_replay();
// MP3_play(rbuffer[2]);
}
Vol_con(rbuffer[3]);
if(xuhao!=rbuffer[2])
{
MP3_play(rbuffer[2]);
xuhao=rbuffer[2];
}
if(rbuffer[4])
Vol_con(0);
}
#endif
}
}
void timer1svr() interrupt INTERRUPT_TF1
{
static char flag=0;
TR1=0;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
flag++;
if(flag==20)
{
flag=0;
second++;
P07=!P07;
if(second==60)
{
second=0;
minute++;
if(minute==60)
minute=0;
}
}
TR1=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -