【اوپن سورس】 DWIN اسڪرين ۽ اينڊرائيڊ فون ٻه طرفي لنڪيج ڪنٽرول ميوزڪ پلے بیک

- DWIN ڊولپر فورم کان

هي مسئلو توهان لاءِ ڊولپر ڊولپر فورم جي انعام يافته اوپن سورس ڪيس کي اڳتي وڌائڻ لاءِ - DWIN اسڪرين ۽ Android فون ٻه طرفي لنڪج ڪنٽرول ميوزڪ پلے بیک. انجنيئر بلوٽوٿ ماڊل ذريعي DWIN انٽيليجنٽ اسڪرين ۽ اينڊرائڊ فون ڊيٽا جي رابطي کي حاصل ڪرڻ لاءِ، صارف آساني سان اينڊرائيڊ فون کي ڪنٽرول ڪري سگھن ٿا، گانا پلے ۾ USB فليش ڊرائيو، روڪ، گانا ۽ سائونڊ سيٽنگ تبديل ڪري، انٽيليجنٽ اسڪرين ۽ اينڊرائيڊ فون ٻه- آسان ڪنٽرول جو طريقو.

1.C51 ڊيزائن
(1) T5L سيريل پورٽ پلے بیک اسٽيٽس کي تبديل ڪرڻ لاءِ بلوٽوٿ ماڊل سان رابطو ڪري ٿو، حجم کي سيٽ ڪري ٿو ۽ بلوٽوٿ اسٽيٽس کي پڙهو، ريفرنس ڪوڊ جو حصو هن ريت آهي:
int main (خالي)
{
INIT_CPU()؛
T2_Heat();
UART4_Init();
EA = 1؛
//UART4_SendStr("هيلو"،سائز جو ("هيلو"))؛
//WDT_ON();// واچ ڊاگ کي چالو ڪريو.
جڏهن ته (1)
{
//WDT_RST()؛//ڪتي کي پير ڪريو
عمل ()؛
}
}
void UART4_Init (void)
{
// UART4 Baud شرح سيٽنگ:
//BODE2_DIV_H=CPU مين فریکوئنسي/(8*باڊ ريٽ)
//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 (خالي)
{
جيڪڏھن (!TenmsFlag)
واپسي؛
TenmsFlag = 0؛
SourcePress();// ٽون جنريٽر
PlayCtrPress ()؛// پلے بیک اسٽيٽ تبديلي
VolCtrSlider ()؛//حجم تبديلي
VolLogSlider()؛//حجم تبديلي
ReadBtState();//پڙھو بلوٽوٿ اسٽيٽس
}
void SourcePress (void)
{
charTouchKey[2]={0,0}؛
u8Sdata[2]؛
read_dgusii_vp(0×3000,TouchKey,1);
جيڪڏهن (TouchKey[1]==0)
واپسي؛
ڊيٽا[1] = 0؛
سوئچ (TouchKey[1])
{
ڪيس 1: يو ڊسڪ
ڊيٽا[0] = 1؛
SendDataToBT(Write_Run_Mode,Sdata,1)؛
وقفو؛
case2:// خارجي لائن ان پٽ
ڊيٽا[0] = 2؛
SendDataToBT(Write_Run_Mode,Sdata,1)؛
وقفو؛
ڪيس 3: بلوٽوت
ڊيٽا[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 (باطل)
{
charTouchKey[2]={0,0}؛
u8Sdata[2]؛
read_dgusii_vp(0×3001,TouchKey,1);
جيڪڏهن (TouchKey[1]==0)
واپسي؛
ڊيٽا[1] = 0؛
سوئچ (TouchKey[1])
{
ڪيس 1: اڳوڻو گيت
ڊيٽا[0] = 1؛
SendDataToBT(Write_Next_Pre_PT,Sdata,1)؛
وقفو؛
case2:// پلے بیک روڪيو
ڊيٽا[0] = 2؛
SendDataToBT(Write_Next_Pre_PT,Sdata,1)؛
وقفو؛
ڪيس 3: ايندڙ گيت
ڊيٽا[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 ذريعي لکيو ويو آهي، خاص طور تي سمارٽ اسڪرين سان بلوٽوٿ ڪنيڪشن ۽ ڪميونيڪيشن ڪنٽرول کي سمجهڻ، ريفرنس ڪوڊ جو حصو هن ريت آهي:
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 = نئون مينون ()؛
گهٽ-> لڪايو ()؛
ڳنڍڻ (mwin، & mainwin:layChangeMode،
devicecommHandle،&DeviceComm:layChangeMode)؛// لکڻ واري موڊ جي تبديلي جاري ڪئي وئي
ڳنڍيو(mwin،&mainwin:layCtrPreNextSt،
devicecommHandle،&DeviceComm:layCtrPreNextSt؛// lit. گيت جي مٿين ۽ هيٺين حصن کي لکو
ڳنڍيو(mwin،&mainwin:layMusicVolChange,
devicecommHandle،&DeviceComm:layMusicVolChange)؛// لکو حجم تبديل ڪريو
ڳنڍيو (devicecommHandle,&DeviceComm::ReadPlayMode,
هي،[=](انٽ موڊ){// موجوده موڊ سيٽ ڪرڻ
qDebug() qDebug() B_Upan->setChecked(false)؛
mwin->B_AUX->SetChecked(false)؛
mwin->B_BT->سيٽ چيڪ ٿيل (غلط)؛
جيڪڏهن (موڊ == 1)
mwin->B_Upan->setChecked(سچو)؛
ٻيو جيڪڏهن (موڊ = = 2)
mwin->B_AUX->setChecked(سچو)؛
ٻيو جيڪڏهن (موڊ = = 3)
mwin->B_BT->سيٽ چيڪ ڪيو ويو (سچو)؛
})؛
ڳنڍڻ (devicecommHandle،&DeviceComm::ReadPlayMusicVol
هي،[=](int vol){// حجم ڊسپلي کي ترتيب ڏيڻ
mwin->QS_MainVol->setValue(vol)؛
})؛
ڳنڍيو(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
هي،[=](){
هي->شو ()؛
گهٽ-> لڪايو ()؛
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0)؛
})؛
void BLE_PairPage::on_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid))؛
//ui->label_localBT->صاف ()؛
//ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
bluetooth_ble_Tool->startFindConnectBle();
//bluetooth_ble_Tool->startStateprogressBar();
ui-> pushButton-> set Enabled (false)؛
ui-> pushButton-> setText ("ڳولا")؛
ڳنڍيو(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished
هي،[=](بول ٺيڪ){
ui-> pushButton-> set Enabled (سچو)؛
ui-> pushButton-> setText ("ڳنڍيل بلوٽوت ڳولڻ شروع ڪريو")؛
جيڪڏهن (ٺيڪ == غلط) {
QMessageBox::information(this,tr("Search Status")," ڊوائيس ڳولهي نه ٿي سگھي، مھرباني ڪري چيڪ ڪريو ته ڇا ڊوائيس اڳ ۾ ئي آن آھي، يا جيڪڏھن ٻيو سيل فون ان سان ڳنڍيل آھي؟؛} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst، int progress){
ui->progressBar->setValue(progress)؛
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())؛}
ٻيو جيڪڏهن (Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::information(this,tr("connection prompt"),"buggy");
ui->label_tips->setText("buggy")؛}
ٻيو جيڪڏهن (Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
هي,tr("ڪاميابي سان ڳنڍيل"), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("ڪاميابي سان ڳنڍيل")؛
هي-> لڪايو ()؛
mwin->شو ()؛
devicecommHandle->TimerStartReadDeviceST(100)؛
// btchat->شو ()؛
// ڊسڪنيڪٽ ڪريو(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//هي،&BLE_PairPage::BlueSearchConnectState)؛ }
ٻيو
ui->label_tips->setText("ڳنڍيندڙ ڳولها")؛ }


پوسٽ جو وقت: مئي-23-2024