【Iepen boarne】 DWIN-skerm en Android-tillefoan Twa-wei Linkage Control Muzykôfspieling

-Fan DWIN Developer Forum

Dizze kwestje foar jo om de priiswinnende iepen-boarne-saak fan DWIN-ûntwikkeldersforum te triuwen - DWIN-skerm en Android-tillefoan twa-wei ferbiningskontrôle ôfspieljen fan muzyk. Yngenieurs fia de Bluetooth module te berikken de DWIN yntelligint skerm en Android telefoan gegevens ynteraksje, brûkers kinne maklik behearskje de Android telefoan, USB flash drive yn it ferske spylje, pauze, feroarje it ferske en lûd ynstellings, ûnderfining yntelligint skerm en Android telefoan twa- manier handige kontrôle.

1.C51 Untwerp
(1) De T5L-seriële poarte ynteraksje mei de Bluetooth-module om de ôfspielstatus te feroarjen, it folume yn te stellen en de Bluetooth-status te lêzen, in diel fan 'e referinsjekoade is as folget:
int main (void)
{
INIT_CPU();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr(“hello”,sizeof(“hallo”));
//WDT_ON();// De Watchdog oansette.
wylst (1)
{
//WDT_RST();//Fet de hûn
Proses();
}
}
void UART4_Init (void)
{
// UART4 Baud rate ynstelling:
//BODE2_DIV_H=CPU Netfrekwinsje/(8*Baud rate) .
//206438400/8/115200=224=0xe0
//206438400/8/921600=28=0x1C
//206438400/8=25804800/230400=112=0×70
SCON2T=0×80;
SCON2R=0×80;
BODE2_DIV_H=0×00;//FCLK/(8*DIV) 
BODE2_DIV_L=0xe0;// 921600 Baudrate
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle (void)
{
if(!TenmsFlag)
weromkomme;
TenmsFlag=0;
SourcePress();//Tonegenerator
PlayCtrPress ();// Wiedergabe tastân feroarje
VolCtrSlider();//Volume feroaring
VolLogSlider();//Volume feroaring
ReadBtState();// Read Bluetooth status
}
void SourcePress (void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
weromkomme;
Sdata[1]=0;
switch(TouchKey[1])
{
case1: //U disk
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
brekke;
case2:// Eksterne LineIn-ynfier
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
brekke;
gefal 3: //Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
brekke;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
void PlayCtrPress (void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
weromkomme;
Sdata[1]=0;
switch(TouchKey[1])
{
case1: // Foarige ferske
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
brekke;
gefal 2: // Playback Pause
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
brekke;
case3: // Folgjende ferske
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
brekke;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) It Android-softwarepakket is skreaun fia QT, en realisearret benammen Bluetooth-ferbining en kommunikaasjekontrôle mei it tûke skerm, in diel fan 'e referinsjekoade is as folget:
ui->setupUi(dit);
bluetooth_ble_Tool = nij Bluetooth_ble_Tool ("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
this,&BLE_PairPage ::BlueSearchConnectState);
//btchat=nije BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=nij DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
less->hide();
ferbine(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Skriuwmodusferoaring útjûn
ferbine(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. skriuw de boppeste en ûnderste parten fan in liet op
ferbine(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Skriuw folumeferoaring del
ferbine(devicecommHandle,&DeviceComm::ReadPlayMode,
this,[=](int-modus){// De aktuele modus ynstelle
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
if(modus==1)
mwin->B_Upan->setChecked(wier);
oars as (modus==2)
mwin->B_AUX->setChecked(wier);
oars as (modus==3)
mwin->B_BT->setChecked(wier);
});
ferbine(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
dit,[=](int vol){// It folume werjaan ynstelle
mwin->QS_MainVol->setValue(vol);
});
ferbine(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
dit,[=](){
this->show();
less->hide();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
void BLE_PairPage::on_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid));
//ui->label_localBT->clear();
//ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
bluetooth_ble_Tool->startFindConnectBle();
//bluetooth_ble_Tool->startStateprogressBar();
ui->pushButton->setEnabled(false);
ui->pushButton->setText(“Sykje“);
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
dit,[=](bool ok){
ui->pushButton->setEnabled(wier);
ui->pushButton->setText(“Begjin it opspoaren fan ferbûne Bluetooth“);
if(ok==falsk) {
QMessageBox :: ynformaasje (dizze, tr ("Sykje Status "), "It apparaat kin net socht wurde, kontrolearje asjebleaft as it apparaat is al ynskeakele, of as in oare mobile telefoan is al ferbûn mei it?");} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(foarútgong);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox :: ynformaasje (dit, tr ("ferbining prompt"), bluetooth_ble_Tool-> getErrorinfo ());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox :: ynformaasje (dizze, tr ("ferbining prompt")," buggy ");
ui->label_tips->setText(“buggy”);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“suksesfol ferbûn“),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“suksesfol ferbûn”);
this->hide();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//dit,&BLE_PairPage::BlueSearchConnectState); }
oars{
ui->label_tips->setText ("Sykje nei ferbiningen "); }


Post tiid: mei-23-2024