【Ochiq manba】 DWIN ekrani va Android telefonining ikki tomonlama ulanishini boshqarish musiqa tinglash

-DWIN Developer Forumdan

Bu sizga DWIN ishlab chiquvchilar forumining mukofotga sazovor bo'lgan ochiq manbali ishi - DWIN ekrani va Android telefonining ikki tomonlama ulanishini musiqa tinglashni boshqarish uchun mo'ljallangan. DWIN aqlli ekrani va Android telefon ma'lumotlarining o'zaro ta'siriga erishish uchun Bluetooth moduli orqali muhandislar foydalanuvchilar Android telefonini, qo'shiq ijrosida USB flesh-diskini osongina boshqarishi, to'xtatib turishi, qo'shiq va ovoz sozlamalarini o'zgartirishi, aqlli ekran va Android telefonidan foydalanishi mumkin. qulay boshqaruv.

1.C51 Dizayn
(1) T5L seriyali porti ijro holatini o'zgartirish, ovoz balandligini o'rnatish va Bluetooth holatini o'qish uchun Bluetooth moduli bilan o'zaro ishlaydi, mos yozuvlar kodining bir qismi quyidagicha:
int asosiy (yaroqsiz)
{
INIT_CPU();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr("salom",sizeof("salom"));
//WDT_ON();//Worddog-ni yoqing.
while(1)
{
//WDT_RST();//Itning oyoqlari
Jarayon();
}
}
void UART4_Init(void)
{
// UART4 uzatish tezligini sozlash:
//BODE2_DIV_H=CPU Tarmoq chastotasi/(8*Baud tezligi) .
//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 Bod tezligi
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(void)
{
if(!TenmsFlag)
qaytish;
TenmsFlag=0;
SourcePress();//Ohang generatori
PlayCtrPress();//Ijro holatini o'zgartirish
VolCtrSlider();//Ovoz balandligini o'zgartirish
VolLogSlider();//Ovoz balandligini o'zgartirish
ReadBtState();//Bluetooth holatini o'qish
}
void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
agar(TouchKey[1]==0)
qaytish;
Sdata[1]=0;
almashtirish (TouchKey[1])
{
case1://U disk
Sdata[0]=1;
SendDataToBT(Write_Run_Mode, Sdata,1);
sindirish;
case2:// Tashqi LineIn kiritish
Sdata[0]=2;
SendDataToBT(Write_Run_Mode, Sdata,1);
sindirish;
case3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode, Sdata,1);
sindirish;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
bekor PlayCtrPress(bekor)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
agar(TouchKey[1]==0)
qaytish;
Sdata[1]=0;
almashtirish (TouchKey[1])
{
case1:// Oldingi qo'shiq
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT, Sdata,1);
sindirish;
case2:// Oʻynatishni toʻxtatib turish
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT, Sdata,1);
sindirish;
case3:// Keyingi qo'shiq
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT, Sdata,1);
sindirish;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Android dasturiy ta'minot to'plami QT orqali yozilgan bo'lib, asosan Bluetooth ulanishi va smart ekran bilan aloqa boshqaruvini amalga oshiradi, mos yozuvlar kodining bir qismi quyidagicha:
ui->setupUi(bu);
bluetooth_ble_Tool=yangi Bluetooth_ble_Tool("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
ulanish(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
bu,&BLE_PairPage::BlueSearchConnectState);
//btchat=yangi BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=yangi DeviceComm();
devicecommHandle->set_ble_Tool (bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=yangi mainwin();
kamroq->yashirish();
ulanish (mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Yozish rejimi o‘zgartirildi
ulanish (mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// yondi. qo'shiqning yuqori va pastki qismlarini yozing
ulanish (mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Ovoz balandligi o‘zgarishini pastga yozing
ulanish (devicecommHandle,&DeviceComm::ReadPlayMode,
bu,[=](int rejimi){// Joriy rejimni sozlash
qDebug() qDebug() B_Upan->setChecked(noto'g'ri);
mwin->B_AUX->setChecked(noto'g'ri);
mwin->B_BT->setChecked(noto'g'ri);
agar(rejim==1)
mwin->B_Upan->setChecked(to'g'ri);
Aks holda, agar (rejim ==2)
mwin->B_AUX->setChecked(to'g'ri);
Aks holda, agar (rejim ==3)
mwin->B_BT->setChecked(to'g'ri);
});
ulanish (devicecommHandle,&DeviceComm::ReadPlayMusicVol,
bu,[=](int vol){// Ovoz balandligini ko‘rsatishni sozlash
mwin->QS_MainVol->setValue(tom);
});
ulanish (bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
bu,[=](){
this -> ko'rsatish ();
kamroq->yashirish();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
bekor 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(noto'g'ri);
ui->pushButton->setText(“Qidiruv”);
ulanish(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDeviceFinished,
bu,[=](bool ok){
ui->pushButton->setEnabled(to'g'ri);
ui->pushButton->setText("Ulangan Bluetooth-ni aniqlashni boshlash");
if(ok==false) {
QMessageBox::information(this,tr(“Search Status“),” Qurilmani qidirib bo‘lmaydi, iltimos, qurilma allaqachon yoqilganmi yoki unga boshqa uyali telefon ulanganmi?”);} }); }
bekor BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(progress);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::ma'lumot (bu,tr("ulanish so'rovi"),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::ma'lumot(bu,tr("ulanish so'rovi"),"buggy ");
ui->label_tips->setText(“buggy”);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“muvaffaqiyatli ulandi”),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“muvaffaqiyatli ulandi”);
this -> hide();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//diconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//bu,&BLE_PairPage::BlueSearchConnectState); }
boshqa{
ui->label_tips->setText(“Ulanishlarni qidirish”); }


Xabar berish vaqti: 2024 yil 23-may