【Atvirojo kodo】 DWIN ekranas ir Android telefono dvipusis susiejimas valdomas muzikos atkūrimas

– Iš DWIN kūrėjų forumo

Ši problema skirta jums pristatyti apdovanojimus pelniusį DWIN kūrėjų forumo atvirojo kodo dėklą – DWIN ekraną ir „Android“ telefono dvipusį ryšį valdo muzikos atkūrimą. Inžinieriai naudodami „Bluetooth“ modulį, kad pasiektų išmanųjį DWIN ekraną ir „Android“ telefono duomenų sąveiką, vartotojai gali lengvai valdyti „Android“ telefoną, USB atmintinę dainos grojimo metu, pristabdyti, keisti dainos ir garso nustatymus, patirti išmanųjį ekraną ir „Android“ telefoną dviem. patogus valdymas.

1.C51 Dizainas
(1) T5L nuoseklusis prievadas sąveikauja su „Bluetooth“ moduliu, kad pakeistų atkūrimo būseną, nustatytumėte garsumą ir nuskaitytų „Bluetooth“ būseną, dalis nuorodos kodo yra tokia:
int main (tuščia)
{
INIT_CPU();
T2_Šiluma();
UART4_Init();
EA=1;
//UART4_SendStr("labas",sizeof("labas");
//WDT_ON();//Įjunkite „Watchdog“.
kol (1)
{
//WDT_RST();//Pakelk šunį kojomis
Procesas ();
}
}
negalioja UART4_Init(tuščia)
{
// UART4 duomenų perdavimo spartos nustatymas:
//BODE2_DIV_H=CPU tinklo dažnis/(8*Prašo sparta) .
//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 Perdavimo sparta
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
negalioja TenMsHandle (tuščia)
{
if(!TenmsFlag)
grąžinti;
TenmsFlag=0;
SourcePress();//Tonų generatorius
PlayCtrPress();//Atkūrimo būsenos keitimas
VolCtrSlider();//Garsumo keitimas
VolLogSlider();//Garsumo keitimas
ReadBtState();//Skaityti „Bluetooth“ būseną
}
negalioja SourcePress(negalioja)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
grąžinti;
Sduomenys[1]=0;
jungiklis (TouchKey[1])
{
case1://U diskas
Sduomenys[0]=1;
SendDataToBT(Rašymo_paleidimo_režimas,Sduomenys,1);
pertrauka;
case2:// External LineIn įvestis
Sduomenys[0] = 2;
SendDataToBT(Rašymo_paleidimo_režimas,Sduomenys,1);
pertrauka;
case3://Bluetooth
Sduomenys[0] = 3;
SendDataToBT(Rašymo_paleidimo_režimas,Sduomenys,1);
pertrauka;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
negalioja PlayCtrPress (tuščia)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
grąžinti;
Sduomenys[1]=0;
jungiklis (TouchKey[1])
{
case1:// Ankstesnė daina
Sduomenys[0]=1;
SendDataToBT(Rašyti_Kitas_Pre_PT,Sduomenys,1);
pertrauka;
case2:// Atkūrimo pauzė
Sduomenys[0] = 2;
SendDataToBT(Rašyti_Kitas_Pre_PT,Sduomenys,1);
pertrauka;
case3:// Kita daina
Sduomenys[0] = 3;
SendDataToBT(Rašyti_Kitas_Pre_PT,Sduomenys,1);
pertrauka;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) „Android“ programinės įrangos paketas parašytas per QT, daugiausia realizuojantis „Bluetooth“ ryšį ir ryšio valdymą su išmaniuoju ekranu, dalis nuorodos kodo yra tokia:
ui->setupUi(this);
bluetooth_ble_Tool=new Bluetooth_ble_Tool("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
this,&BLE_PairPage::BlueSearchConnectState);
//btchat=new BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->slėpti();
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
mažiau->slėpti();
connect(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Pakeistas rašymo režimas
connect(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. užsirašykite viršutinę ir apatinę dainos dalis
connect(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Parašykite garsumo keitimą žemyn
connect(devicecommHandle,&DeviceComm::ReadPlayMode,
tai,[=](vidinis režimas){// Dabartinio režimo nustatymas
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
jei (režimas = = 1)
mwin->B_Upan->setChecked(true);
kitaip, jei (režimas = = 2)
mwin->B_AUX->setChecked(true);
kitaip, jei (režimas = = 3)
mwin->B_BT->setChecked(true);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
this,[=](int vol){// Garsumo ekrano nustatymas
mwin->QS_MainVol->setValue(vol);
});
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
tai,[=](){
tai->show();
mažiau->slėpti();
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("Ieška");
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
tai,[=](gerai){
ui->pushButton->setEnabled(true);
ui->pushButton->setText („Pradėti aptikti prijungtą Bluetooth“);
if(ok==false) {
QMessageBox::information(this,tr("Paieškos būsena ")," Įrenginio negalima ieškoti, patikrinkite, ar įrenginys jau įjungtas, ar prie jo jau prijungtas kitas mobilusis telefonas?");} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(progress);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::informacija(this,tr(“ryšio raginimas),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::informacija(this,tr(“ryšio raginimas),” buggy “);
ui->label_tips->setText("klaidingas");}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“sėkmingai prijungtas “),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("sėkmingai prijungta");
tai->slėpti();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//šis,&BLE_PairPage::BlueSearchConnectState); }
Kitas{
ui->label_tips->setText("Ieškoma ryšių"); }


Paskelbimo laikas: 2024-05-23