【Oopbron】 DWIN-skerm en Android-foon Tweerigtingskakelbeheer-musiekafspeel

– Van DWIN-ontwikkelaarsforum

Hierdie uitgawe is vir jou om die bekroonde oopbron-saak van DWIN-ontwikkelaarforum te stoot – DWIN-skerm en Android-foon tweerigtingkoppeling beheer die speel van musiek. Ingenieurs deur die Bluetooth-module om die DWIN intelligente skerm en Android-foon data-interaksie te bereik, kan gebruikers maklik die Android-selfoon, USB-flash drive in die liedjie speel, breek, verander die liedjie en klankinstellings, ervaar intelligente skerm en Android-foon twee- manier gerieflike beheer.

1.C51 Ontwerp
(1) Die T5L-seriële poort is in wisselwerking met die Bluetooth-module om die afspeelstatus te wysig, die volume te stel en die Bluetooth-status te lees, deel van die verwysingskode is soos volg:
int hoof (leemte)
{
INIT_CPU();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr(“hallo”,sizeof(“hallo”));
//WDT_ON();//Skakel die Waghond aan.
terwyl (1)
{
//WDT_RST();//Voet die hond
Proses();
}
}
void UART4_Init(void)
{
// UART4 Baud rate instelling:
//BODE2_DIV_H=CPU Netfrekwensie/(8*Baudtempo) .
//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 rate
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
nietig TenMsHandle(void)
{
if(!TenmsFlag)
terugkeer;
TenmsVlag=0;
SourcePress();// Toongenerator
PlayCtrPress();// Verandering van afspeeltoestand
VolCtrSlider();// Volumeverandering
VolLogSlider();//Volume verandering
ReadBtState();// Lees Bluetooth-status
}
void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
terugkeer;
Sdata[1]=0;
skakelaar (TouchKey[1])
{
case1://U-skyf
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
breek;
geval2:// Eksterne lyninvoer
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
breek;
geval3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
breek;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
nietig PlayCtrPress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
terugkeer;
Sdata[1]=0;
skakelaar (TouchKey[1])
{
case1:// Vorige liedjie
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
breek;
geval2:// Afspeel Pouse
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
breek;
case3:// Volgende liedjie
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
breek;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) Die Android-sagtewarepakket word deur QT geskryf, wat hoofsaaklik Bluetooth-verbinding en kommunikasiebeheer met die slimskerm besef, deel van die verwysingskode is soos volg:
ui->setupUi(hierdie);
bluetooth_ble_Tool=nuwe Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
hierdie,&BLE_PairPage::BlueSearchConnectState);
//btchat=nuwe BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->versteek();
devicecommHandle=nuwe DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=nuwe hoofwin();
less->versteek();
verbind (mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Skryfmodusverandering uitgereik
verbind(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. skryf die boonste en onderste dele van 'n liedjie neer
verbind (mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Skryf volumeverandering af
verbind (devicecommHandle,&DeviceComm::ReadPlayMode,
hierdie,[=](int-modus){// Stel die huidige modus in
qDebug() qDebug() B_Upan->setChecked(vals);
mwin->B_AUX->setChecked(vals);
mwin->B_BT->setChecked (vals);
if(modus==1)
mwin->B_Upan->setChecked(true);
anders as (modus==2)
mwin->B_AUX->setChecked(true);
anders as (modus==3)
mwin->B_BT->setChecked(true);
});
verbind (devicecommHandle,&DeviceComm::ReadPlayMusicVol,
hierdie,[=](int vol){// Stel die volumevertoning
mwin->QS_MainVol->setValue(vol);
});
verbind (bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
hierdie,[=](){
hierdie-> wys();
less->hide();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
void BLE_PairPage::on_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(diensUuid));
//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(“Soek “);
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
hierdie,[=](bool ok){
ui->pushButton->setEnabled(true);
ui->pushButton->setText(“Begin om gekoppelde Bluetooth op te spoor “);
if(ok==vals) {
QMessageBox::information(this,tr(“Soekstatus “),,” Die toestel kan nie deursoek word nie, kyk asseblief of die toestel reeds aangeskakel is, of ’n ander selfoon reeds daaraan gekoppel is?”);} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(vordering);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(hierdie,tr(“verbindingprompt“),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::information(hierdie,tr(“konneksieprompt “), karretjie “);
ui->etiket_wenke->setTeks(“karretjie”);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“suksesvol verbind “),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“suksesvol gekoppel”);
hierdie->versteek();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//hierdie,&BLE_PairPage::BlueSearchConnectState); }
anders{
ui->label_tips->setText(“Soek na verbindings”); }


Postyd: 23 Mei 2024