【Burimi i hapur】 Ekrani DWIN dhe telefoni Android Kontrolli i lidhjes së dyanshme Riprodhimi i muzikës

– Nga Forumi i Zhvilluesve DWIN

Kjo çështje ju bën të shtyni rastin me burim të hapur të vlerësuar me çmime të forumit të zhvilluesve DWIN - ekrani DWIN dhe lidhja e dyanshme e telefonit Android kontrollojnë riprodhimin e muzikës. Inxhinierët përmes modulit Bluetooth për të arritur ndërveprimin e të dhënave të ekranit inteligjent DWIN dhe telefonit Android, përdoruesit mund të kontrollojnë lehtësisht telefonin Android, USB flash drive-in në luajtjen e këngës, ndalojnë, ndryshojnë cilësimet e këngës dhe zërit, të përjetojnë ekranin inteligjent dhe telefonin Android dy- mënyrë kontrolli i përshtatshëm.

1.C51 Dizajni
(1) Porta serike T5L ndërvepron me modulin Bluetooth për të modifikuar statusin e riprodhimit, për të vendosur volumin dhe për të lexuar statusin e Bluetooth, një pjesë e kodit të referencës është si më poshtë:
int kryesore (i zbrazët)
{
INIT_CPU ();
T2_Nxehtësia();
UART4_Init();
EA=1;
//UART4_SendStr ("përshëndetje", madhësia e ("përshëndetje"));
//WDT_ON();//Aktivizo Watchdog.
ndërsa (1)
{
//WDT_RST();//Këmbët e qenit
Procesi ();
}
}
i pavlefshëm UART4_Init(i pavlefshëm)
{
// Cilësimi i shkallës së Baud-it UART4:
//BODE2_DIV_H=Frekuenca e rrjetit të CPU-së/(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 rate
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle (void)
{
if(!TenmsFlag)
kthimi;
TenmsFlag=0;
SourcePress();//Generator tone
PlayCtrPress();//Ndryshimi i gjendjes së luajtjes
VolCtrSlider();//Ndryshimi i volumit
VolLogSlider();//Ndryshimi i volumit
ReadBtState();//Lexo statusin e Bluetooth
}
void BurimiPress(i pavlefshëm)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,Touch Key,1);
nëse (Testi me prekje[1]==0)
kthimi;
Sdata[1]=0;
çelësi (Testi me prekje[1])
{
case1://U disku
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
pushim;
case2:// Hyrja e jashtme LineIn
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
pushim;
rasti3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
pushim;
}
write_dgusii_vp (0×3003,Touch Key,1);
memset(Touch Key,0,sizeof(Touch Key));
write_dgusii_vp (0×3000,Touch Key,1);
ReadBtStatecount=0;
}
i pavlefshëm PlayCtrPress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,Touch Key,1);
nëse (Testi me prekje[1]==0)
kthimi;
Sdata[1]=0;
çelësi (Testi me prekje[1])
{
case1:// Kënga e mëparshme
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pushim;
case2:// Pauzë e luajtjes
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pushim;
case3:// Kënga e radhës
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
pushim;
}
memset(Touch Key,0,sizeof(Touch Key));
write_dgusii_vp (0×3001,Touch Key,1);
ReadBtStatecount=0;
}

(2) Paketa e softuerit Android është shkruar përmes QT, duke realizuar kryesisht lidhjen Bluetooth dhe kontrollin e komunikimit me ekranin inteligjent, pjesë e kodit të referencës është si më poshtë:
ui->setupUi(this);
bluetooth_ble_Tool=mjet i ri Bluetooth_ble(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
lidh(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
kjo,&BLE_PairPage::BlueSearchConnectState);
//btchat=BtChat i ri();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->Init_Page();
//btchat->hide();
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
më pak->fsheh();
lidh (mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// U lëshua ndryshimi i modalitetit të shkrimit
lidh(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// ndezur. shkruani pjesët e sipërme dhe të poshtme të një kënge
lidh(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Shkruani ndryshimin e volumit poshtë
lidh(devicecommHandle,&DeviceComm::ReadPlayMode,
kjo,[=](modaliteti int){// Vendosja e modalitetit aktual
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
nëse (modaliteti==1)
mwin->B_Upan->setChecked(true);
ndryshe nëse (mode==2)
mwin->B_AUX->setChecked(true);
ndryshe nëse (mode==3)
mwin->B_BT->setChecked(true);
});
lidh(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
kjo,[=](int vol){// Vendosja e ekranit të volumit
mwin->QS_MainVol->setValue(vol);
});
lidh(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
kjo,[=](){
this->show();
më pak->fsheh();
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(“Kërkimi”);
lidh(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
kjo,[=](bool ok){
ui->pushButton->setEnabled(true);
ui->pushButton->setText(“Filloni të zbuloni Bluetooth-in e lidhur”);
nëse (ok==false) {
QMessageBox::information(this,tr("Statusi i Kërkimit ")," Pajisja nuk mund të kërkohet, ju lutemi kontrolloni nëse pajisja është tashmë e ndezur ose nëse një telefon tjetër celular është tashmë i lidhur me të?");} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(progres);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::informacion(this,tr("prompt lidhjeje"),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::informacion(this,tr("prompt lidhjeje ")," buggy ");
ui->label_tips->setText(“buggy”);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr("lidhur me sukses "),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“lidhur me sukses”);
this->hide();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//shkëputje(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//kjo,&BLE_PairPage::BlueSearchConnectState); }
tjetër{
ui->label_tips->setText(“Kërkimi për lidhje”); }


Koha e postimit: Maj-23-2024