【ღია წყარო】 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("გამარჯობა",sizeof("გამარჯობა"));
//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 ბაუდის სიხშირე
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(void)
{
if(!TenmsFlag)
დაბრუნების;
TenmsFlag=0;
SourcePress();//ტონის გენერატორი
PlayCtrPress();//დაკვრის მდგომარეობის შეცვლა
VolCtrSlider();//მოცულობის ცვლილება
VolLogSlider();//მოცულობის ცვლილება
ReadBtState();// წაიკითხეთ Bluetooth სტატუსი
}
void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if (TouchKey[1]==0)
დაბრუნების;
Sdata[1]=0;
შეცვლა (TouchKey[1])
{
case1://U დისკი
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
შესვენება;
case2:// გარე ხაზის შეყვანა
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
შესვენება;
case3://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(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if (TouchKey[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=new BtChat();
//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();
less->hide();
დაკავშირება(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// ჩაწერის რეჟიმის ცვლილება გაიცა
დაკავშირება(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. ჩაწერეთ სიმღერის ზედა და ქვედა ნაწილები
დაკავშირება(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-ის აღმოჩენა“);
თუ (ok==მცდარი) {
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(“connection prompt“),“ 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->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//გათიშვა(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//this,&BLE_PairPage::BlueSearchConnectState); }
სხვა{
ui->label_tips->setText(„კავშირების ძიება“); }


გამოქვეყნების დრო: მაისი-23-2024