【Stòr fosgailte】 Sgrion DWIN agus Ath-chluich Ciùil Smachd Ceangal Dà-shligheach Fòn Android

-Bho Fòram Luchd-leasachaidh DWIN

A’ chùis seo airson gum bi thu a’ putadh a’ chùis stòr fosgailte a choisinn duaisean de fhòram leasaiche DWIN - sgrion DWIN agus smachd ceangail dà-shligheach fòn Android air ath-chluich ciùil. Innleadairean tron ​​​​mhodal Bluetooth gus scrion tùrail DWIN agus eadar-obrachadh dàta fòn Android a choileanadh, is urrainn do luchd-cleachdaidh smachd a chumail gu furasta air am fòn Android, an draibhear USB flash ann an cluich òrain, stad, atharraich na roghainnean òran is fuaim, eòlas fhaighinn air scrion tùrail agus fòn Android dà- dòigh goireasach smachd.

1.C51 Dealbhadh
(1) Bidh am port sreathach T5L ag eadar-obrachadh leis a’ mhodal Bluetooth gus an inbhe ath-chluich atharrachadh, an tomhas-lìonaidh a shuidheachadh, agus an inbhe Bluetooth a leughadh, tha pàirt den chòd iomraidh mar a leanas:
sa phrìomh (falamh)
{
INIT_CPU();
T2_Teas();
UART4_Init();
EA=1;
// UART4_SendStr ("hello", meud ("hello"));
//WDT_ON();// Tionndaidh air an Watchdog.
fhad (1)
{
//WDT_RST();// Cas an cù
Pròiseas ();
}
}
falamh UART4_Init(falamh)
{
// Suidheachadh ìre UART4 Baud:
//BODE2_DIV_H=Tricead prìomh phìoban CPU/(8*Ìre 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;// ìre 921600 Baud
//BODE2_DIV_H=0×00;
//FCLK/(8* DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
falamh TenMsHandle (falamh)
{
ma tha(!TenmsFlag)
tilleadh;
TenmsFlag=0;
SourcePress();// gineadair tòna
PlayCtrPress();// Atharrachadh staid ath-chluich
VolCtrSlider();// Atharrachadh tomhas-lìonaidh
VolLogSlider();// Atharrachadh tomhas-lìonaidh
ReadBtState();// Leugh inbhe Bluetooth
}
falamh SourcePress(falamh)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000, TouchKey,1);
ma tha(TouchKey[1]==0)
tilleadh;
Sdata[1]=0;
suidse (TouchKey[1])
{
cùis 1: // U diosc
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
briseadh;
cùis2: Cuir a-steach taobh a-muigh LineIn
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
briseadh;
cùis3: //Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
briseadh;
}
write_dgusii_vp(0×3003, TouchKey,1);
memset (TouchKey, 0, meud (TouchKey));
write_dgusii_vp(0×3000, TouchKey,1);
ReadBtStatecount=0;
}
falamh PlayCtrPress (falamh)
{
charTouchKey[2] ={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001, TouchKey,1);
ma tha(TouchKey[1]==0)
tilleadh;
Sdata[1]=0;
suidse (TouchKey[1])
{
cùis1: // Òran roimhe
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
briseadh;
cùis2: // Playback Pause
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
briseadh;
cùis3: // An ath òran
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
briseadh;
}
memset (TouchKey, 0, meud (TouchKey));
write_dgusii_vp(0×3001, TouchKey,1);
ReadBtStatecount=0;
}

(2) Tha am pasgan bathar-bog Android air a sgrìobhadh tro QT, gu ìre mhòr a’ toirt a-mach ceangal Bluetooth agus smachd conaltraidh leis an scrion snasail, tha pàirt den chòd fiosrachaidh mar a leanas:
ui-> setupUi(seo);
bluetooth_ble_Tool=Bluetooth_ble_Tool ùr (“dwin_bt(BLE)”);
ui-> label_localBT_Name-> setText(bluetooth_ble_Tool-> getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool ::BlueSearchConnectState,
seo,&BLE_PairPage ::BlueSearchConnectState);
//btchat=BtChat ùr();
//btchat-> set_ble_Tool(bluetooth_ble_Tool);
//btchat-> init_Page();
//btchat-> falaich();
devicecommHandle=DeviceComm ùr();
devicecommHandle-> set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle-> InitDevice();
mwin = mainwin ùr();
nas lugha -> falaich();
ceangail (mwin, & mainwin: layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Sgrìobh atharrachadh modh air a thoirt a-mach
ceangail (mwin, & mainwin: layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. sgrìobh sìos pàirtean àrda is ìosal òran
ceangail (mwin, & mainwin: layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Sgrìobh sìos atharrachadh tomhas-lìonaidh
ceangal (devicecommHandle, & DeviceComm :: ReadPlayMode,
seo,[=](modh int){// A' suidheachadh a' mhodh làithreach
qDebug() qDebug() B_Upan-> setChecked (meallta);
mwin-> B_AUX-> setChecked (meallta);
mwin-> B_BT-> setChecked (meallta);
ma tha(modh==1)
mwin-> B_Upan-> setChecked (fìor);
eile ma tha(modh==2)
mwin-> B_AUX-> setChecked (fìor);
eile ma tha(modh ==3)
mwin-> B_BT-> setChecked (fìor);
});
ceangal (devicecommHandle, & DeviceComm :: ReadPlayMusicVol,
seo, [=] (int vol){// A' suidheachadh an taisbeanadh tomhas-lìonaidh
mwin-> QS_MainVol-> setValue(vol);
});
ceangail (bluetooth_ble_Tool, &Bluetooth_ble_Tool :: BLE_Link_error,
seo,[=](){
seo-> taisbeanadh();
nas lugha -> falaich();
devicecommHandle-> TimerStopReadDeviceST();
seo-> ui-> adhartasBar-> setValue(0);
});
falamh BLE_PairPage ::on_pushButton_cliog (){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid));
//ui-> label_localBT-> soilleir();
//ui-> label_localBT_Name-> setText(bluetooth_ble_Tool-> getLocalName());
bluetooth_ble_Tool-> startFindConnectBle();
//bluetooth_ble_Tool-> startStateprogressBar();
ui-> pushButton-> setEnabled(meallta);
ui-> pushButton-> setText ("A' lorg ");
ceangail (bluetooth_ble_Tool, &Bluetooth_ble_Tool :: BlueBLE_FindDeviceCrìochnaichte,
seo, [=] (bool ceart gu leòr){
ui-> pushButton-> setEnabled(fìor);
ui-> pushButton-> setText (“Tòisich a’ lorg Bluetooth ceangailte ");
ma tha (ceart gu leòr = = meallta) {
QMessageBox :: information(seo, tr ("Search Inbhe")," Cha ghabh an inneal a sgrùdadh, feuch an dèan thu cinnteach a bheil an inneal air a thionndadh air mu thràth, no a bheil fòn cealla eile ceangailte ris mu thràth? ”);} }); }
falamh BLE_PairPage ::BlueSearchConnectState(Bluetooth_ble_Tool ::tòisich StateprogressBar_em Linkst, san adhartas){
ui-> adhartasBar-> setValue(adhartas);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox :: fiosrachadh (seo, tr ("ceangal gu sgiobalta"), bluetooth_ble_Tool-> getErrorinfo ());
ui-> label_tips-> setText(bluetooth_ble_Tool-> getErrorinfo());}
eile ma tha(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox ::fiosrachadh(seo,tr ("ceangal gu luath")," buga ");
ui-> label_tips-> setText ("buggy");}
eile ma tha(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox ::fiosrachadh(
seo, tr ("ceangailte gu soirbheachail"), bluetooth_ble_Tool-> getErrorinfo());
ui-> label_tips-> setText ("ceangailte gu soirbheachail");
seo-> falaich();
mwin-> taisbeanadh();
devicecommHandle-> TimerStartReadDeviceST(100);
//btchat-> seall();
// disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool ::BlueSearchConnectState,
// seo,&BLE_PairPage ::BlueSearchConnectState); }
eile{
ui-> label_tips-> setText (“A’ lorg cheanglaichean “); }


Ùine puist: Cèitean-23-2024