【විවෘත මූලාශ්‍රය】 DWIN තිරය සහ ඇන්ඩ්‍රොයිඩ් දුරකථන ද්වි-මාර්ග සම්බන්ධක පාලන සංගීත ප්ලේබැක්

-DWIN සංවර්ධක සංසදයෙන්

DWIN සංවර්ධක සංසදයේ සම්මානලාභී විවෘත-මූලාශ්‍ර නඩුව තල්ලු කිරීමට ඔබට මෙම ගැටලුව - DWIN තිරය සහ Android දුරකථන ද්වි-මාර්ග සම්බන්ධක පාලන සංගීත වාදනය. බ්ලූටූත් මොඩියුලය හරහා ඉංජිනේරුවන්ට DWIN බුද්ධිමත් තිරය සහ ඇන්ඩ්‍රොයිඩ් දුරකථන දත්ත අන්තර්ක්‍රියා සාක්ෂාත් කර ගැනීම සඳහා, පරිශීලකයින්ට පහසුවෙන් ඇන්ඩ්‍රොයිඩ් දුරකථනය, ගීත වාදනයේ USB ෆ්ලෑෂ් ඩ්‍රයිව් පාලනය කළ හැකිය, විරාමය, ගීත සහ ශබ්ද සැකසුම් වෙනස් කිරීම, බුද්ධිමත් තිරය සහ ඇන්ඩ්‍රොයිඩ් දුරකථන දෙකක් අත්විඳිය හැකිය. පහසු පාලනයක්.

1.C51 නිර්මාණය
(1) ධාවන තත්ත්වය වෙනස් කිරීමට, ශබ්දය සැකසීමට සහ බ්ලූටූත් තත්ත්වය කියවීමට T5L අනුක්‍රමික වරාය බ්ලූටූත් මොඩියුලය සමඟ අන්තර්ක්‍රියා කරයි, යොමු කේතයේ කොටසක් පහත පරිදි වේ:
int ප්‍රධාන (ශුන්‍ය)
{
INIT_CPU();
T2_Heat ();
UART4_Init();
EA=1;
//UART4_SendStr("හලෝ",ප්‍රමාණය("හලෝ"));
//WDT_ON();// Watchdog ක්‍රියාත්මක කරන්න.
අතරතුර (1)
{
//WDT_RST();// බල්ලා අඩි
ක්රියාවලිය ();
}
}
අවලංගු UART4_Init(ශුන්‍ය)
{
// UART4 Baud අනුපාත සැකසුම:
//BODE2_DIV_H=CPU ප්‍රධාන සංඛ්‍යාතය/(8*Baud අනුපාතය) .
//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 Baud අනුපාතය
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
අවලංගු TenMsHandle (ශුන්‍ය)
{
if(!TenmsFlag)
ආපසු;
TenmsFlag=0;
SourcePress();//ටෝන් උත්පාදක
PlayCtrPress();//ප්ලේබැක් තත්ත්වය වෙනස් කිරීම
VolCtrSlider ();// වෙළුම වෙනස් කිරීම
VolLogSlider();// වෙළුම වෙනස් කිරීම
ReadBtState();//බ්ලූටූත් තත්ත්වය කියවන්න
}
ශූන්‍ය SourcePress(ශුන්‍ය)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
ආපසු;
Sdata[1]=0;
ස්විචය (TouchKey[1])
{
case1://U තැටිය
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
කැඩීම;
case2:// බාහිර රේඛා ආදානය
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
කැඩීම;
නඩුව3://බ්ලූටූත්
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
කැඩීම;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
අවලංගු PlayCtrPress (ශුන්‍ය)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
ආපසු;
Sdata[1]=0;
ස්විචය (TouchKey[1])
{
case1:// පෙර ගීතය
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
කැඩීම;
case2:// පසුධාවන විරාමය
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
කැඩීම;
case3:// ඊළඟ ගීතය
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
කැඩීම;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)ඇන්ඩ්‍රොයිඩ් මෘදුකාංග පැකේජය QT හරහා ලියා ඇත, ප්‍රධාන වශයෙන් බ්ලූටූත් සම්බන්ධතාවය සහ ස්මාර්ට් තිරය සමඟ සන්නිවේදන පාලනය සාක්ෂාත් කර ගනිමින්, යොමු කේතයේ කොටසක් පහත පරිදි වේ:
ui->setupUi(මෙය);
bluetooth_ble_Tool=නව Bluetooth_ble_Tool("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
සම්බන්ධ කරන්න(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
මෙය,&BLE_PairPage::BlueSearchConnectState);
//btchat=නව BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->සඟවන්න();
devicecommHandle=නව DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=නව mainwin();
අඩු->සඟවන්න ();
සම්බන්ධ කරන්න(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// ලිවීමේ මාදිලියේ වෙනසක් නිකුත් කරන ලදී
සම්බන්ධ කරන්න(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// ලිට්. ගීතයක ඉහළ සහ පහළ කොටස් ලියන්න
සම්බන්ධ කරන්න(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// පරිමාව වෙනස් කිරීම ලියන්න
සම්බන්ධ කරන්න(devicecommHandle,&DeviceComm::ReadPlayMode,
මෙය,[=](int මාදිලිය){// වත්මන් මාදිලිය සැකසීම
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
නම්(ප්‍රකාරය==1)
mwin->B_Upan->setChecked(true);
වෙනත් නම් (ප්‍රකාරය==2)
mwin->B_AUX->setChecked(true);
වෙනත් නම් (ප්‍රකාරය==3)
mwin->B_BT->setChecked(true);
});
සම්බන්ධ කරන්න(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
මෙය,[=](int vol){// වෙළුම් සංදර්ශකය සැකසීම
mwin->QS_MainVol->setValue(vol);
});
සම්බන්ධ කරන්න(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
මෙය,[=](){
this->show();
අඩු->සඟවන්න ();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
අවලංගු 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 ("සෙවීම");
සම්බන්ධ කරන්න(bluetooth_ble_Tool,&Bluetooth_ble_Tool ::BlueBLE_FindDevicefinished,
මෙය,[=](බොහොම හරි){
ui->pushButton->setEnabled(true);
ui->pushButton->setText ("සම්බන්ධිත බ්ලූටූත් හඳුනා ගැනීම අරඹන්න");
නම් (ok==අසත්‍ය) {
QMessageBox::තොරතුරු(මෙම,tr(“සෙවුම් තත්ත්‍වය “),” උපාංගය සෙවිය නොහැක, කරුණාකර උපාංගය දැනටමත් ක්‍රියාත්මක කර තිබේද, නැතහොත් වෙනත් ජංගම දුරකථනයක් දැනටමත් එයට සම්බන්ධ වී ඇත්දැයි පරීක්ෂා කරන්න);} }); }
අවලංගු BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int ප්‍රගතිය){
ui->progressBar->setValue(ප්‍රගතිය);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::තොරතුරු(මෙම,tr(“සම්බන්ධතා විමසුම”),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
වෙනත් නම්(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox ::තොරතුරු(මෙම,tr("සම්බන්ධතා විමසුම"), දෝෂ සහිතයි ");
ui->label_tips->setText(“දෝෂ සහිත”);}
වෙනත් නම්(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::තොරතුරු(
this,tr(“සාර්ථකව සම්බන්ධ වී ඇත”),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("සාර්ථකව සම්බන්ධ විය");
මෙය->සඟවන්න ();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//මෙය,&BLE_PairPage::BlueSearchConnectState); }
වෙනත්
ui->label_tips->setText("සම්බන්ධතා සඳහා සෙවීම"); }


පසු කාලය: මැයි-23-2024