【Բաց կոդով】 DWIN էկրան և Android հեռախոս Երկկողմանի կապի վերահսկում Երաժշտության նվագարկումը

– DWIN ծրագրավորողների ֆորումից

Այս թողարկումը ձեզ համար մղում է DWIN ծրագրավորողների ֆորումի մրցանակակիր բաց կոդով գործը՝ DWIN էկրանը և Android հեռախոսի երկկողմանի կապը վերահսկում են երաժշտության նվագարկումը: Ինժեներները Bluetooth մոդուլի միջոցով հասնելու DWIN խելացի էկրանի և Android հեռախոսի տվյալների փոխազդեցությանը, օգտվողները կարող են հեշտությամբ կառավարել Android հեռախոսը, USB ֆլեշ կրիչը երգի նվագարկման ժամանակ, դադար տալ, փոխել երգի և ձայնի կարգավորումները, օգտվել խելացի էկրանից և Android հեռախոսից երկու- հարմար կառավարում:

1.C51 Դիզայն
(1) T5L սերիական պորտը փոխազդում է Bluetooth մոդուլի հետ՝ փոփոխելու նվագարկման կարգավիճակը, ձայնի ձայնը սահմանելու և Bluetooth կարգավիճակը կարդալու համար, հղման կոդի մի մասը հետևյալն է.
int main (անվավեր)
{
INIT_CPU ();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr («բարև», չափսեր («բարև»));
//WDT_ON();//Միացնել Watchdog-ը:
մինչդեռ (1)
{
//WDT_RST();//Ոտքեր շանը
Գործընթաց ();
}
}
void UART4_Init (անվավեր)
{
// UART4 Baud փոխարժեքի կարգավորում.
//BODE2_DIV_H=CPU ցանցի հաճախականությունը/(8*Baud rate) .
//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 Baud արագություն
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle (անվավեր)
{
եթե (!TenmsFlag)
վերադարձ;
TenmsFlag=0;
SourcePress();// Տոնային գեներատոր
PlayCtrPress();//Նվագարկման վիճակի փոփոխություն
VolCtrSlider();//Ձայնի փոփոխություն
VolLogSlider();//Ձայնի փոփոխություն
ReadBtState();//Կարդալ Bluetooth կարգավիճակը
}
void SourcePress(անվավեր)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp (0×3000, TouchKey, 1);
եթե (TouchSey[1]==0)
վերադարձ;
Sdata[1]=0;
անջատիչ (TouchKey[1])
{
case1://U սկավառակ
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
ընդմիջում;
case2:// Արտաքին LineIn մուտքագրում
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
ընդմիջում;
պատյան3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
ընդմիջում;
}
write_dgusii_vp (0×3003, TouchKey, 1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp (0×3000, TouchKey, 1);
ReadBtStatecount=0;
}
void PlayCtrPress (անվավեր)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp (0×3001, TouchKey, 1);
եթե (TouchSey[1]==0)
վերադարձ;
Sdata[1]=0;
անջատիչ (TouchKey[1])
{
case1:// Նախորդ երգը
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
ընդմիջում;
case2:// Նվագարկման դադար
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
ընդմիջում;
case3:// Հաջորդ երգը
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
ընդմիջում;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp (0×3001, TouchKey, 1);
ReadBtStatecount=0;
}

(2)Android ծրագրային փաթեթը գրված է QT-ի միջոցով՝ հիմնականում իրականացնելով Bluetooth կապ և խելացի էկրանով կապի կառավարում, հղման կոդի մի մասը հետևյալն է.
ui->setupUi(this);
bluetooth_ble_Tool=նոր Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
միացնել(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
սա,&BLE_PairPage::BlueSearchConnectState);
//btchat=նոր BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=նոր DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
less->hide();
միացնել (mwin, & mainwin: layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Գրելու ռեժիմի փոփոխությունը թողարկվել է
միացնել (mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// վառեց. գրեք երգի վերին և ստորին մասերը
միացնել (mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Գրել ձայնի ծավալի փոփոխությունը
connect(devicecommHandle,&DeviceComm::ReadPlayMode,
սա,[=](int ռեժիմ){// Ընթացիկ ռեժիմի կարգավորում
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
եթե (ռեժիմ==1)
mwin->B_Upan->setChecked(true);
ուրիշ եթե (ռեժիմ==2)
mwin->B_AUX->setChecked(true);
ուրիշ եթե (ռեժիմ==3)
mwin->B_BT->setChecked(true);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
սա,[=](int vol){// Ձայնի ցուցադրման կարգավորում
mwin->QS_MainVol->setValue(vol);
});
միացնել(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
սա,[=](){
this-> show();
less->hide();
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(«Որոնում»);
միացնել(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
սա,[=](լավ լավ){
ui->pushButton->setEnabled(true);
ui->pushButton->setText («Սկսել հայտնաբերել միացված Bluetooth-ը»);
եթե (լավ==սխալ) {
QMessageBox::information(this,tr(«Որոնման կարգավիճակը»),» Սարքը հնարավոր չէ որոնել, խնդրում ենք ստուգել, ​​արդյոք սարքն արդեն միացված է, թե արդյոք այլ բջջային հեռախոս արդեն միացված է դրան:»);} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(առաջընթաց);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(this,tr(“connection prompt”),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(“միացման հուշում”),” buggy”);
ui->label_tips->setText(«buggy»);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr("հաջողությամբ միացվեց"),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(«հաջողությամբ միացվեց»);
this->hide();
mwin->ցուցադրել ();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->ցուցադրել();
//անջատել(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//this,&BLE_PairPage::BlueSearchConnectState); }
ուրիշ{
ui->label_tips->setText(«Կապերի որոնում»); }


Հրապարակման ժամանակը` մայիս-23-2024