【Foinse Oscailte】 Scáileán DWIN agus Athsheinm Ceoil Rialaithe Nascála Dhá-bhealach Fón Android

–Ó Fhóram Forbróirí DWIN

An tsaincheist seo chun tú a bhrú ar an gcás foinse oscailte a bhuaigh duaiseanna d’fhóram forbróirí DWIN - athsheinm ceoil rialaithe nasc dhá-threo scáileáin DWIN agus fón Android. Innealtóirí tríd an modúl Bluetooth chun an scáileán cliste DWIN agus idirghníomhaíocht sonraí fón Android a bhaint amach, is féidir le húsáideoirí an fón Android, tiomáint USB flash a rialú go héasca sa seinm amhrán, sos, an t-amhrán agus socruithe fuaime a athrú, taithí a fháil ar scáileán cliste agus fón Android dhá- bealach rialaithe áisiúil.

1.C51 Dearadh
(1) Idirghníomhaíonn an calafort sraitheach T5L leis an modúl Bluetooth chun an stádas athsheinm a mhodhnú, an méid a shocrú, agus an stádas Bluetooth a léamh, tá cuid den chód tagartha mar seo a leanas:
int príomh(neamhní)
{
INIT_CPU();
T2_Teas();
UART4_Init();
EA=1;
//UART4_SendStr("hello", méid("hello"));
//WDT_ON();//Cuir an Faire ar siúl.
agus(1)
{
//WDT_RST();//Cosa an madra
Próiseas();
}
}
ar neamhní UART4_Init(folamh)
{
// UART4 Socrú ráta Baud:
// BODE2_DIV_H = minicíocht príomhlíonra CPU / (8 * ráta 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 Ráta Baud
//BODE2_DIV_H=0×00;
//FCLK/(8* DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
ar neamhní TenMsHandle(folamh)
{
má(!TenmsFlag)
filleadh ;
TenmsFlag=0;
SourcePress();// Gineadóir ton
Athrú staide PlayCtrPress();//Playback
VolCtrSlider();// Athrú imleabhar
VolLogSlider();// Athrú imleabhar
ReadBtState();//Léigh stádas Bluetooth
}
ar neamhní SourcePress(folamh)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
má(TouchKey[1]==0)
filleadh ;
Sdata[1]=0;
lasc(TouchKey[1])
{
cás1://U diosca
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
briseadh ;
case2: Ionchur Seachtrach LineIn
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
briseadh ;
cás3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
briseadh ;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,méid(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
ar neamhní PlayCtrPress(folamh)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
má(TouchKey[1]==0)
filleadh ;
Sdata[1]=0;
lasc(TouchKey[1])
{
cás1:// Amhrán roimhe seo
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
briseadh ;
cás2:// Sos Athsheinm
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
briseadh ;
cás3:// An chéad amhrán eile
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
briseadh ;
}
memset(TouchKey,0,méid(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) Tá an pacáiste bogearraí Android scríofa trí QT, den chuid is mó a bhaint amach nasc Bluetooth agus rialú cumarsáide leis an scáileán cliste, tá cuid den chód tagartha mar seo a leanas:
ui->setupUi(seo);
bluetooth_ble_Tool = Bluetooth_ble_Tool nua (“dwin_bt(BLE)”);
ui->label_localBT_Name-> setText(bluetooth_ble_Tool->getLocalName());
ceangail(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
seo,&BLE_PairPage::BlueSearchConnectState);
//btchat=BtChat nua();
//btchat-> set_ble_Tool(bluetooth_ble_Tool);
//btchat-> init_Page();
//btchat-> folaigh();
devicecommHandle=DeviceComm nua();
devicecommHandle-> set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle-> InitDevice();
mwin = mainwin nua();
lú-> cheilt();
ceangail(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Scríobh athrú mód eisithe
ceangail(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. scríobh síos na codanna uachtaracha agus íochtaracha d'amhrán
ceangail(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Scríobh an t-athrú toirte síos
ceangail (devicecommHandle,&DeviceComm ::ReadPlayMode,
seo,[=](mód slán){// Ag socrú an mhód reatha
qDebug() qDebug() B_Upan->setChecked(bréagach);
mwin-> B_AUX-> setChecked(bréagach);
mwin-> B_BT->setChecked(bréagach);
má(mód==1)
mwin-> B_Upan-> setChecked(fíor);
eile má(mód==2)
mwin-> B_AUX-> setChecked(fíor);
eile má(mód==3)
mwin-> B_BT-> setChecked(fíor);
});
ceangail(devicecommHandle,&DeviceComm ::ReadPlayMusicVol,
seo,[=](in toirt){// Ag Socrú an Taispeána Toirte
mwin-> QS_MainVol->setValue(vol);
});
ceangail(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
seo,[=](){
seo->seó();
níos lú-> cheilt();
devicecommHandle->TimerStopReadDeviceST();
seo->ui->progressBar->setValue(0);
});
ar neamhní BLE_PairPage ::on_pushButton_chliceáil(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid));
//ui->label_localBT-> soiléir();
//ui->label_localBT_Name-> setText(bluetooth_ble_Tool->getLocalName());
bluetooth_ble_Tool->startFindConnectBle();
//bluetooth_ble_Tool->startStateprogressBar();
ui-> pushButton->setEnabled(bréagach);
ui-> pushButton-> setText(“Cuardach “);
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDeviceCríochnaithe,
seo,[=](bool ceart go leor){
ui-> pushButton->setEnabled(fíor);
ui-> pushButton-> setText("Tosaigh ag brath Bluetooth nasctha");
má(ceart go leor== bréagach) {
QMessageBox ::faisnéis(seo,tr("Stádas Cuardaigh")," Ní féidir an gléas a chuardach, seiceáil le do thoil an bhfuil an gléas casta air cheana, nó an bhfuil fón póca eile ceangailte leis cheana?”);} }); }
ar neamhní BLE_PairPage ::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Nascstáit, idir lámha){
ui->progressBar->setValue(dul chun cinn);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::faisnéis(seo,tr("leid leid"), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips-> setText(bluetooth_ble_Tool-> getErrorinfo());}
eile má(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::faisnéis(seo,tr(“leid leid “),,” bugaí “);
ui->label_tips->setText(“bugaí“);}
eile má(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox ::faisnéis(
seo,tr(“ceangailte go rathúil”), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“ceangailte go rathúil”);
seo-> cheilt();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
// dícheangail(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//seo,&BLE_PairPage::BlueSearchConnectState); }
eile{
ui->label_tips-> setText(“Ceangail á gcuardach “); }


Am postála: Bealtaine-23-2024