【Нээлттэй эх сурвалж】 DWIN дэлгэц ба Android утас хоёр талын холболтыг хянах хөгжим тоглуулах

-DWIN хөгжүүлэгчдийн форумаас

Энэхүү дугаар нь DWIN хөгжүүлэгч форумын шагналт нээлттэй эх сурвалжийн хэрэглүүр болох DWIN дэлгэц болон Android утасны хоёр талын холболтыг хянах хөгжим тоглуулахад зориулагдсан болно. Инженерүүд Bluetooth модулийг ашиглан DWIN ухаалаг дэлгэц болон Android утасны өгөгдлийн харилцан үйлчлэлд хүрэхийн тулд хэрэглэгчид Android утас, USB флаш дискийг дууг тоглуулах, түр зогсоох, дуу болон дууны тохиргоог өөрчлөх, ухаалаг дэлгэц, Android утас зэргийг хялбархан удирдах боломжтой. арга тохиромжтой удирдлага.

1.C51 Дизайн
(1) T5L цуваа порт нь тоглуулах төлөвийг өөрчлөх, дууны хэмжээг тохируулах, Bluetooth статусыг уншихын тулд Bluetooth модультай харилцдаг бөгөөд лавлагааны кодын хэсэг нь дараах байдалтай байна.
int үндсэн(хүчингүй)
{
INIT_CPU();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr("сайн уу",sizeof("сайн уу"));
//WDT_ON();//Харуулын нохойг асаана уу.
байхад(1)
{
//WDT_RST();//Нохойг хөллөнө
Процесс();
}
}
хүчингүй болгох UART4_Init(хүчингүй)
{
// UART4 дамжуулах хурдны тохиргоо:
//BODE2_DIV_H=CPU Сүлжээний давтамж/(8*Баудын хурд) .
//206438400/8/115200=224=0xe0
//206438400/8/921600=28=0х1С
//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;
}
хүчингүй болсон TenMsHandle(хүчингүй)
{
if(!TenmsFlag)
буцаах;
TenmsFlag=0;
SourcePress();//Ая үүсгүүр
PlayCtrPress();//Тоглуулах төлөвийн өөрчлөлт
VolCtrSlider();//Эзлэхүүний өөрчлөлт
VolLogSlider();//Эзлэхүүний өөрчлөлт
ReadBtState();//Bluetooth статусыг унших
}
хүчингүй SourcePress(хүчингүй)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
хэрэв(TouchKey[1]==0)
буцаах;
Sdata[1]=0;
солих(TouchKey[1])
{
case1://U диск
Sdata[0]=1;
SendDataToBT(Бичих_Ажиллуулах_Гом, Sdata,1);
завсарлага;
case2:// Гадаад шугамын оролт
Sdata[0]=2;
SendDataToBT(Бичих_Ажиллуулах_Гом, Sdata,1);
завсарлага;
case3://Bluetooth
Sdata[0]=3;
SendDataToBT(Бичих_Ажиллуулах_Гом, Sdata,1);
завсарлага;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
PlayCtrPress-г хүчингүй болгох(хүчингүй)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
хэрэв(TouchKey[1]==0)
буцаах;
Sdata[1]=0;
солих(TouchKey[1])
{
case1:// Өмнөх дуу
Sdata[0]=1;
SendDataToBT(Дараагийн_урьдчилан_бичих, Sdata,1);
завсарлага;
case2:// Тоглуулахыг түр зогсоох
Sdata[0]=2;
SendDataToBT(Дараагийн_урьдчилан_бичих, Sdata,1);
завсарлага;
case3:// Дараагийн дуу
Sdata[0]=3;
SendDataToBT(Дараагийн_урьдчилан_бичих, Sdata,1);
завсарлага;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Android програм хангамжийн багц нь QT-ээр бичигдсэн бөгөөд голчлон Bluetooth холболт, ухаалаг дэлгэцээр харилцах удирдлагыг хэрэгжүүлдэг бөгөөд лавлагааны кодын нэг хэсэг нь дараах байдалтай байна.
ui->setupUi(энэ);
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->нуух();
devicecommHandle=шинэ DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=шинэ mainwin();
бага->нуух();
холбох(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Бичих горимын өөрчлөлт гарсан
холбох(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// асаав. дууны дээд ба доод хэсгийг бичих
холбох(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Дууны өөрчлөлтийг доош бичих
холбох(devicecommHandle,&DeviceComm::ReadPlayMode,
энэ,[=](int mode){// Одоогийн горимыг тохируулж байна
qDebug() qDebug() B_Upan->setChecked(худал);
mwin->B_AUX->setChecked(худал);
mwin->B_BT->setChecked(худал);
хэрэв (горим==1)
mwin->B_Upan->setChecked(үнэн);
өөрөөр бол (горим ==2)
mwin->B_AUX->setChecked(үнэн);
Хэрэв өөр бол (горим ==3)
mwin->B_BT->setChecked(үнэн);
});
холбох(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
энэ,[=](int vol){// Дууны түвшний дэлгэцийг тохируулах
mwin->QS_MainVol->setValue(том);
});
холбох(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_алдаа,
энэ,[=](){
энэ->шоу();
бага->нуух();
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->starFindConnectBle();
//bluetooth_ble_Tool->startStateprogressBar();
ui->pushButton->setEnabled(худал);
ui->pushButton->setText("Хайж байна");
холбох(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDeviceFished,
энэ,[=](зүгээр дээ){
ui->pushButton->setEnabled(үнэн);
ui->pushButton->setText("Холбогдсон Bluetooth-г илрүүлж эхлэх");
хэрэв (ок== худал) {
QMessageBox::мэдээлэл(энэ,tr("Хайлтын төлөв ")," Төхөөрөмжийг хайх боломжгүй, төхөөрөмж аль хэдийн асаалттай, эсвэл өөр гар утас холбогдсон эсэхийг шалгана уу?");} }); }
хүчингүй болсон BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(давшил);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox ::мэдээлэл(энэ,tr("холболт хүлээх мөр "),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::мэдээлэл(энэ,tr("холболт хүлээх мөр ")," алдаатай ");
ui->label_tips->setText("алдаатай");}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::мэдээлэл(
this,tr(“амжилттай холбогдсон”),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“амжилттай холбогдсон”);
this->нуух();
mwin->шоу();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//таслах(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//энэ,&BLE_PairPage::BlueSearchConnectState); }
өөр{
ui->label_tips->setText("Холболтуудыг хайж байна"); }


Шуудангийн цаг: 2024 оны 5-р сарын 23-ны хооронд