【Odprtokodni】 Zaslon DWIN in telefon Android Dvosmerna povezava Nadzor predvajanja glasbe

– Iz foruma razvijalcev DWIN

Ta številka za vas, da spodbudite nagrajeni odprtokodni primer foruma za razvijalce DWIN – zaslon DWIN in dvosmerna povezava telefona Android nadzirata predvajanje glasbe. Inženirji prek modula Bluetooth za dosego DWIN inteligentnega zaslona in podatkovne interakcije telefona Android lahko uporabniki enostavno nadzorujejo telefon Android, ključek USB v predvajanju pesmi, začasno ustavijo, spremenijo nastavitve pesmi in zvoka, izkusijo inteligentni zaslon in telefon Android dvo- način priročnega nadzora.

1.C51 Oblikovanje
(1) Serijska vrata T5L sodelujejo z modulom Bluetooth za spreminjanje stanja predvajanja, nastavitev glasnosti in branje stanja Bluetooth, del referenčne kode je naslednji:
int main(void)
{
INIT_CPU();
T2_Toplota();
UART4_Init();
EA=1;
//UART4_SendStr(“zdravo”,sizeof(“zdravo”));
//WDT_ON();//Vklopi psa čuvaja.
medtem ko (1)
{
//WDT_RST();//Podakaj psa
Proces();
}
}
void UART4_Init(void)
{
// Nastavitev hitrosti prenosa UART4:
//BODE2_DIV_H=Omrežna frekvenca procesorja/(8*baudna hitrost) .
//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 hitrost prenosa
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(void)
{
če(!TenmsFlag)
vrnitev;
TenmsFlag=0;
SourcePress();//Generator tonov
PlayCtrPress();//Sprememba stanja predvajanja
VolCtrSlider();//Sprememba glasnosti
VolLogSlider();//Sprememba glasnosti
ReadBtState();//Preberi stanje Bluetooth
}
void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
vrnitev;
Spodatki[1]=0;
stikalo (tipka na dotik [1])
{
case1://U disk
Spodatki[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
odmor;
case2:// Zunanji linijski vhod
Spodatki[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
odmor;
case3://Bluetooth
Spodatki[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
odmor;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
void PlayCtrPress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
vrnitev;
Spodatki[1]=0;
stikalo (tipka na dotik [1])
{
case1:// Prejšnja pesem
Spodatki[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
odmor;
case2:// Premor predvajanja
Spodatki[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
odmor;
case3:// Naslednja pesem
Spodatki[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
odmor;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Paket programske opreme Android je napisan prek QT, v glavnem omogoča povezavo Bluetooth in nadzor komunikacije s pametnim zaslonom, del referenčne kode je naslednji:
ui->setupUi(to);
bluetooth_ble_Tool=novo Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
poveži(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
this,&BLE_PairPage::BlueSearchConnectState);
//btchat=nov BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=nov DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=nov mainwin();
manj->skrij();
poveži(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Izdana sprememba načina pisanja
poveži(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. zapišite zgornji in spodnji del pesmi
poveži(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Zapiši spremembo glasnosti navzdol
povezava(devicecommHandle,&DeviceComm::ReadPlayMode,
this,[=](int mode){// Nastavitev trenutnega načina
qDebug() qDebug() B_Upan->setChecked(false);
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
če(način==1)
mwin->B_Upan->setChecked(true);
sicer če (način==2)
mwin->B_AUX->setChecked(true);
sicer če (način==3)
mwin->B_BT->setChecked(true);
});
poveži(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
this,[=](int vol){// Nastavitev prikaza glasnosti
mwin->QS_MainVol->setValue(vol);
});
poveži(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
to,[=](){
to->pokaži();
manj->skrij();
devicecommHandle->TimerStopReadDeviceST();
to->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(“Iskanje “);
poveži(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
to,[=](bool ok){
ui->pushButton->setEnabled(true);
ui->pushButton->setText(“Začni zaznavati povezan Bluetooth”);
if(ok==false) {
QMessageBox::information(this,tr(“Status iskanja “),” Naprave ni mogoče iskati, preverite, ali je naprava že vklopljena ali je nanjo že povezan drug mobilni telefon?”);} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(napredek);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(this,tr(“poziv za povezavo “),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(“poziv za povezavo “),”buggy “);
ui->label_tips->setText(“buggy “);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“uspešno vzpostavljena povezava “),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“uspešno vzpostavljena povezava”);
to->skrij();
mwin->pokaži();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//odklop(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//to,&BLE_PairPage::BlueSearchConnectState); }
else{
ui->label_tips->setText(“Iskanje povezav “); }


Čas objave: 23. maj 2024