【Atvērtā koda】 DWIN ekrāns un Android tālruņa divvirzienu savienojuma vadības mūzikas atskaņošana

– No DWIN izstrādātāju foruma

Šī problēma ir paredzēta DWIN izstrādātāju foruma godalgotajam atvērtā pirmkoda korpusam — DWIN ekrānam un Android tālruņa divvirzienu savienojumam, kas kontrolē mūzikas atskaņošanu. Inženieri, izmantojot Bluetooth moduli, lai panāktu DWIN viedo ekrānu un Android tālruņa datu mijiedarbību, lietotāji var viegli kontrolēt Android tālruni, USB zibatmiņas disku dziesmas atskaņošanas laikā, pauzēt, mainīt dziesmas un skaņas iestatījumus, izbaudīt viedo ekrānu un Android tālruni. ērta kontrole.

1.C51 Dizains
(1) T5L seriālais ports mijiedarbojas ar Bluetooth moduli, lai mainītu atskaņošanas statusu, iestatītu skaļumu un nolasītu Bluetooth statusu, daļa no atsauces koda ir šāda:
int galvenais (neesošs)
{
INIT_CPU();
T2_Siltums();
UART4_Init();
EA=1;
//UART4_SendStr("labdien",sizeof("sveiki");
//WDT_ON();//Ieslēgt Watchdog.
kamēr (1)
{
//WDT_RST();//Pēdas sunim
Process();
}
}
spēkā neesošs UART4_Init(neesošs)
{
// UART4 datu pārraides ātruma iestatījums:
//BODE2_DIV_H=CPU tīkla frekvence/(8*Pārsūtīšanas ātrums) .
//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 Pārraides ātrums
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
spēkā neesošs TenMsHandle(tukšums)
{
if(!TenmsFlag)
atgriešanās;
TenmsFlag=0;
SourcePress();//Toņu ģenerators
PlayCtrPress();//Atskaņošanas stāvokļa maiņa
VolCtrSlider();//Skaļuma maiņa
VolLogSlider();//Skaļuma maiņa
ReadBtState();//Nolasīt Bluetooth statusu
}
nederīgs SourcePress(neesošs)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
atgriešanās;
Sdata[1]=0;
slēdzis (skārientaustiņš[1])
{
case1://U disks
Sdata[0]=1;
SendDataToBT(rakstīšanas_darbināšanas_režīms,Sdata,1);
pārtraukums;
case2:// External LineIn ievade
Sdata[0]=2;
SendDataToBT(rakstīšanas_darbināšanas_režīms,Sdata,1);
pārtraukums;
case3://Bluetooth
Sdata[0]=3;
SendDataToBT(rakstīšanas_darbināšanas_režīms,Sdata,1);
pārtraukums;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
anulēt PlayCtrPress(neesošs)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
atgriešanās;
Sdata[1]=0;
slēdzis (skārientaustiņš[1])
{
case1:// Iepriekšējā dziesma
Sdata[0]=1;
SendDataToBT(Rakstīt_Nākamais_Pirms_PT,Sdati,1);
pārtraukums;
case2:// Atskaņošanas pauze
Sdata[0]=2;
SendDataToBT(Rakstīt_Nākamais_Pirms_PT,Sdati,1);
pārtraukums;
case3:// Nākamā dziesma
Sdata[0]=3;
SendDataToBT(Rakstīt_Nākamais_Pirms_PT,Sdati,1);
pārtraukums;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) Android programmatūras pakotne ir rakstīta, izmantojot QT, galvenokārt realizējot Bluetooth savienojumu un saziņas vadību ar viedo ekrānu, daļa no atsauces koda ir šāda:
ui->setupUi(this);
bluetooth_ble_Tool=jauns Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
šī,&BLE_PairPage::BlueSearchConnectState);
//btchat=new BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->slēpt();
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
mazāk->slēpt();
connect(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Izdota rakstīšanas režīma maiņa
connect(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. pierakstiet dziesmas augšējo un apakšējo daļu
connect(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Ierakstīt skaļuma izmaiņas
connect(devicecommHandle,&DeviceComm::ReadPlayMode,
this,[=](intrautiskais režīms){// Pašreizējā režīma iestatīšana
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
ja(režīms==1)
mwin->B_Upan->setChecked(true);
cits, ja (režīms==2)
mwin->B_AUX->setChecked(true);
cits, ja (režīms==3)
mwin->B_BT->setChecked(true);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
this,[=](int vol){// Skaļuma displeja iestatīšana
mwin->QS_MainVol->setValue(vol);
});
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
šo,[=](){
this-> show();
mazāk->slēpt();
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("Meklēšana");
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
šo,[=](labi){
ui->pushButton->setEnabled(true);
ui-> pushButton-> setText ("Sākt noteikt savienoto Bluetooth");
if(ok==false) {
QMessageBox::information(this,tr("Meklēšanas statuss ")," Ierīci nevar meklēt, lūdzu, pārbaudiet, vai ierīce jau ir ieslēgta, vai tai jau ir pievienots cits mobilais tālrunis?");} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(progress);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(this,tr("savienojuma uzvedne"),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::information(this,tr("savienojuma uzvedne ")," buggy ");
ui->label_tips->setText("buggy");}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr("veiksmīgi savienots"),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“veiksmīgi savienots”);
šo->slēpt();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//šis,&BLE_PairPage::BlueSearchConnectState); }
cits{
ui->label_tips->setText("Savienojumu meklēšana"); }


Izsūtīšanas laiks: 2024. gada 23. maijs