【ክፍት ምንጭ】 DWIN ስክሪን እና አንድሮይድ ስልክ ባለሁለት መንገድ ግንኙነት ሙዚቃ መልሶ ማጫወትን ይቆጣጠሩ

-ከDWIN ገንቢ መድረክ

ይህ እትም የተሸላሚውን የDWIN ገንቢ መድረክ - DWIN ስክሪን እና የአንድሮይድ ስልክ ባለ ሁለት መንገድ ትስስር መቆጣጠሪያ ሙዚቃ መልሶ ማጫወትን እንድትገፋፉ ነው። መሐንዲሶች በብሉቱዝ ሞጁል አማካኝነት የDWIN ኢንተሊጀንት ስክሪን እና የአንድሮይድ ስልክ ዳታ መስተጋብርን ለማግኘት ተጠቃሚዎች አንድሮይድ ስልኩን ፣የዩኤስቢ ፍላሽ አንፃፊን በዘፈኑ ውስጥ በቀላሉ መቆጣጠር ፣ ለአፍታ ማቆም ፣ የዘፈኑን እና የድምፅ ቅንጅቶችን መለወጥ ፣ የማሰብ ችሎታ ያለው ስክሪን እና አንድሮይድ ስልክ ሁለት- መንገድ ምቹ ቁጥጥር.

1.C51 ንድፍ
(1) የT5L ተከታታይ ወደብ ከብሉቱዝ ሞጁል ጋር በመገናኘት የመልሶ ማጫወት ሁኔታን ለመቀየር፣ድምጹን ለማዘጋጀት እና የብሉቱዝ ሁኔታን ለማንበብ የማጣቀሻ ኮድ አካል እንደሚከተለው ነው።
int ዋና (ባዶ)
{
INIT_CPU();
T2_ሙቀት ();
UART4_Init ();
EA=1;
// UART4_SendStr ("ሄሎ", መጠን ("ሄሎ"));
//WDT_ON();// Watchdogን አብራ።
ሳለ(1)
{
//WDT_RST();//የውሻውን እግር
ሂደት ();
}
}
ባዶ UART4_Init(ባዶ)
{
// UART4 Baud ተመን ቅንብር፡
//BODE2_DIV_H=ሲፒዩ ዋና ተደጋጋሚነት/(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 ባውድ ተመን
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
ባዶ TenMsHandle( ባዶ)
{
ከሆነ(!TenmsFlag)
መመለስ;
TenmsFlag=0;
ምንጭ ፕሬስ();//Tone ጄኔሬተር
PlayCtrPress ();// የመልሶ ማጫወት ሁኔታ ለውጥ
VolCtrSlider ();// የድምጽ ለውጥ
VolLogSlider ();// የድምጽ ለውጥ
ReadBtState ();// የብሉቱዝ ሁኔታን አንብብ
}
ባዶ ምንጭ ፕሬስ (ባዶ)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000፣TouchKey፣1);
ከሆነ(TouchKey[1]==0)
መመለስ;
ስዳታ[1]=0;
መቀየሪያ(TouchKey[1])
{
case1: // ዩ ዲስክ
ስዳታ[0]=1;
መላክ ዳታ ወደ ቢቲ(Write_Run_Mode፣Sdata፣1);
መሰባበር;
case2: // ውጫዊ መስመር ማስገቢያ
ስዳታ[0]=2;
መላክ ዳታ ወደ ቢቲ(Write_Run_Mode፣Sdata፣1);
መሰባበር;
case3://ብሉቱዝ
ስዳታ[0]=3;
መላክ ዳታ ወደ ቢቲ(Write_Run_Mode፣Sdata፣1);
መሰባበር;
}
መጻፍ_dgusii_vp(0×3003፣TouchKey፣1);
memset(TouchKey,0,sizeof(TouchKey));
መጻፍ_dgusii_vp(0×3000፣TouchKey፣1);
ReadBtStatecount=0;
}
ባዶ የ PlayCtrPress (ባዶ)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001፣TouchKey፣1);
ከሆነ(TouchKey[1]==0)
መመለስ;
ስዳታ[1]=0;
መቀየሪያ(TouchKey[1])
{
case1:// ቀዳሚ ዘፈን
ስዳታ[0]=1;
ወደ ቶቢቲ ላክ(ቀጣይ_ቅድመ_PT፣Sdata፣1 ይፃፉ);
መሰባበር;
case2:// መልሶ ማጫወት ባለበት አቁም
ስዳታ[0]=2;
ወደ ቶቢቲ ላክ(ቀጣይ_ቅድመ_PT፣Sdata፣1 ይፃፉ);
መሰባበር;
case3:// ቀጣይ ዘፈን
ስዳታ[0]=3;
ወደ ቶቢቲ ላክ(ቀጣይ_ቅድመ_PT፣Sdata፣1 ይፃፉ);
መሰባበር;
}
memset(TouchKey,0,sizeof(TouchKey));
መጻፍ_dgusii_vp(0×3001፣TouchKey፣1);
ReadBtStatecount=0;
}

(2) የአንድሮይድ ሶፍትዌር ፓኬጅ በ QT በኩል የተፃፈ ሲሆን በዋናነት የብሉቱዝ ግንኙነትን እና የግንኙነት ቁጥጥርን ከስማርት ስክሪን ጋር በመገንዘብ የማጣቀሻ ኮድ አካል እንደሚከተለው ነው።
ui-> setupUi (ይህ);
bluetooth_ble_Tool=አዲስ ብሉቱዝ_ble_Tool("dwin_bt(BLE)");
ui-> መሰየሚያ_localBT_Name-> setText(ብሉቱዝ_ብሌል_መሳሪያ->ጌትLocalName());
ማገናኘት(ብሉቱዝ_ብሌ_መሳሪያ፣&ብሉቱዝ_ብሌሌ_መሳሪያ::ብሉይሰርችኮኔክትስቴት)፣
ይህ, & BLE_Pairገጽ :: BlueSearchConnectState);
//btchat=አዲስ BtChat();
//btchat-> set_ble_Tool (ብሉቱዝ_ብለ_መሳሪያ);
//btchat-> init_ገጽ ();
//btchat->ደብቅ();
DevicecommHandle=አዲስ DeviceComm();
DevicecommHandle->set_ble_Tool(ብሉቱዝ_ብለ_መሳሪያ);
DevicecommHandle-> InitDevice ();
mwin = አዲስ ዋናዊ ();
ያነሰ -> ደብቅ ();
መገናኘት(mwin፣&mainwin:layChangeMode፣
DevicecommHandle,&DeviceComm:layChangeMode);// የመጻፍ ሁነታ ለውጥ ወጥቷል።
መገናኘት(mwin፣&mainwin:layCtrPreNextSt፣
DevicecommHandle፣&DeviceComm:layCtrPreNextSt);// በርቷል። የዘፈኑን የላይኛው እና የታችኛውን ክፍል ይፃፉ
መገናኘት(mwin፣&mainwin:layMusicVolChange፣
DevicecommHandle,&DeviceComm:layMusicVolChange);// የድምጽ ለውጥ ወደ ታች ጻፍ
መገናኘት(devicecommHandle፣&DeviceComm::PlayMode ያንብቡ፣
ይህ፣[=](int ሁነታ){// የአሁኑን ሁነታ በማዘጋጀት ላይ
qDebug() qDebug() B_Upan->የተፈተሸ (ውሸት);
mwin-> B_AUX-> setChecked (ሐሰት);
mwin-> B_BT-> setChecked (ሐሰት);
ከሆነ (ሞድ==1)
mwin-> B_Upan-> setChecked (እውነት);
ሌላ ከሆነ (ሞድ==2)
mwin-> B_AUX-> setChecked (እውነት);
ሌላ ከሆነ (ሞድ==3)
mwin-> B_BT-> setChecked (እውነት);
});
መገናኘት(መሣሪያcommHandle፣&DeviceComm::PlayMusicVol ያንብቡ፣
ይህ፣[=](int vol){// የድምጽ መጠን ማሳያን በማዘጋጀት ላይ
mwin-> QS_MainVol-> setValue (ቮል);
});
ማገናኘት(ብሉቱዝ_ብልት_መሳሪያ፣&ብሉቱዝ_ብሌሌ_መሳሪያ ::BLE_Link_ስህተት፣
ይህ፣[=](){
ይህ-> ትዕይንት ();
ያነሰ -> ደብቅ ();
DevicecommHandle-> TimerStopReadDeviceST ();
this-> ui-> ፕሮግረስባር-> setValue (0);
});
ባዶ BLE_PairPage::በፑሽ ቡቶን_ጠቅቷል(){
bluetooth_ble_Tool-> SetOperUuidServer(QBluetoothUuid(አገልግሎትUuid));
// ui-> መለያ_localBT-> ግልጽ ();
// ui-> መሰየሚያ_localBT_Name-> setText(ብሉቱዝ_ብሌል_መሳሪያ->ጌትLocalName());
bluetooth_ble_Tool-> startFindConnectBle ();
// bluetooth_ble_Tool->startStateprogressBar ();
ui-> pushButton-> setEnabled (ሐሰት);
ui->pushButton->setText("ፍለጋ");
ማገናኘት(ብሉቱዝ_ብሌ_መሳሪያ፣&ብሉቱዝ_ብልጭልጭል_መሳሪያ ::ብሉብል_ማግኘትDevifinished፣
ይህ፣[=](እሺ){
ui->pushButton-> setEnabled (እውነት);
ui->pushButton-> setText ("የተገናኘ ብሉቱዝን ማግኘት ጀምር");
ከሆነ (እሺ =ሐሰት) {
QMessageBox::መረጃ(ይህ,tr("የፍለጋ ሁኔታ")፣መሳሪያው ሊፈለግ አይችልም፣እባክዎ መሳሪያው አስቀድሞ መብራቱን ወይም ሌላ ሞባይል ስልክ አስቀድሞ ከእሱ ጋር የተገናኘ መሆኑን ያረጋግጡ።}}); }
ባዶ BLE_Pair ገጽ::ብሉይሰርችኮኔክትስቴት(ብሉቱዝ_መሳሪያ::startStateprogressBar_em Linkst፣int progress){
ui-> ፕሮግረስባር -> setValue (ሂደት);
ከሆነ(Linkst>=ብሉቱዝ_ማስተካከያ መሳሪያ::ሌላ_ስህተት){
QMessageBox :: መረጃ (ይህ, tr ("ግንኙነት መጠየቂያ"), bluetooth_ble_Tool-> getErrorinfo ());
ui->label_tips->አዘጋጅ ጽሑፍ(ብሉቱዝ_ብሌል_መሳሪያ->getErrorinfo());}
ሌላ ከሆነ(Linkst>=ብሉቱዝ_ማስተካከያ መሳሪያ::Ble_Deconnect_device){
QMessageBox :: መረጃ (ይህ,tr ("ግንኙነት ጥያቄ ")," buggy ");
ui->መለያ_ቲፕስ->አዘጋጅ ጽሑፍ("buggy");}
ሌላ ከሆነ(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::መረጃ(
this,tr("በስኬት ተገናኝቷል"), bluetooth_ble_Tool->getErrorinfo());
ui-> label_tips-> setText ("በስኬት ተገናኝቷል");
ይህ -> ደብቅ ();
mwin-> አሳይ ();
DevicecommHandle-> TimerStartReadDeviceST(100);
//btchat-> አሳይ ();
//ግንኙነት አቋርጥ(ብሉቱዝ_ብሌሌ_መሳሪያ፣&ብሉቱዝ_ብሌሌ_መሳሪያ::ብሉይሰርችConnectState፣
//ይህ፣&BLE_PairPage::BlueSearchConnectState); }
ሌላ{
ui->label_tips->setText("ግንኙነቶችን መፈለግ"); }


የልጥፍ ሰዓት፡- ግንቦት-23-2024