【ប្រភពបើកចំហ】អេក្រង់ DWIN និងទូរស័ព្ទ Android ទំនាក់ទំនងពីរផ្លូវគ្រប់គ្រងការចាក់តន្ត្រីឡើងវិញ

- ពីវេទិកាអ្នកអភិវឌ្ឍន៍ DWIN

បញ្ហានេះសម្រាប់អ្នកដើម្បីជំរុញករណីប្រភពបើកចំហដែលឈ្នះពានរង្វាន់នៃវេទិកាអ្នកអភិវឌ្ឍន៍ DWIN – អេក្រង់ DWIN និងទូរស័ព្ទ Android ការគ្រប់គ្រងតំណភ្ជាប់ពីរផ្លូវសម្រាប់ការចាក់តន្ត្រីឡើងវិញ។ វិស្វករតាមរយៈម៉ូឌុលប៊្លូធូសដើម្បីសម្រេចបាននូវអេក្រង់ឆ្លាតវៃ DWIN និងអន្តរកម្មទិន្នន័យទូរស័ព្ទ Android អ្នកប្រើប្រាស់អាចគ្រប់គ្រងទូរស័ព្ទ Android បានយ៉ាងងាយស្រួល USB flash drive ក្នុងការលេងបទចម្រៀង ផ្អាក ផ្លាស់ប្តូរការកំណត់បទចម្រៀង និងសំឡេង បទពិសោធន៍អេក្រង់ឆ្លាតវៃ និងទូរស័ព្ទ Android ពីរ។ វិធីគ្រប់គ្រងងាយស្រួល។

1.C51 ការរចនា
(1) ច្រកសៀរៀល T5L ធ្វើអន្តរកម្មជាមួយម៉ូឌុលប៊្លូធូស ដើម្បីកែប្រែស្ថានភាពចាក់សារថ្មី កំណត់កម្រិតសំឡេង និងអានស្ថានភាពប៊្លូធូស ផ្នែកនៃលេខកូដយោងមានដូចខាងក្រោម៖
int មេ (ទទេ)
{
INIT_CPU();
T2_Heat();
UART4_Init();
EA=1;
// UART4_SendStr("ជំរាបសួរ", ទំហំ("ជំរាបសួរ"));
//WDT_ON();//បើក Watchdog ។
ខណៈ​ពេល (1​)
{
// WDT_RST ();// ជើងឆ្កែ
ដំណើរការ ();
}
}
ចាត់ទុកជាមោឃៈ UART4_Init (ចាត់ទុកជាមោឃៈ)
{
// ការកំណត់អត្រា UART4 Baud៖
//BODE2_DIV_H=ប្រេកង់របស់ CPU Mains/(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 អត្រា Baud
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
ចាត់ទុកជាមោឃៈ TenMsHandle (ចាត់ទុកជាមោឃៈ)
{
ប្រសិនបើ (!TenmsFlag)
ត្រឡប់មកវិញ;
TenmsFlag=0;
ប្រភពPress();//ម៉ាស៊ីនបង្កើតសម្លេង
PlayCtrPress();// ការផ្លាស់ប្តូរស្ថានភាពចាក់សារថ្មី។
VolCtrSlider();// ការផ្លាស់ប្តូរកម្រិតសំឡេង
VolLogSlider();// ការផ្លាស់ប្តូរកម្រិតសំឡេង
ReadBtState();// អានស្ថានភាពប៊្លូធូស
}
ចាត់ទុកជាមោឃៈ ប្រភពសារព័ត៌មាន (ចាត់ទុកជាមោឃៈ)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
ប្រសិនបើ(TouchKey[1]==0)
ត្រឡប់មកវិញ;
ទិន្នន័យ[1]=0;
ប្ដូរ(TouchKey[1])
{
case1:// ថាស
ទិន្នន័យ[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;
}
PlayCtrPress ទុកជាមោឃៈ(ទុកជាមោឃៈ)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
ប្រសិនបើ(TouchKey[1]==0)
ត្រឡប់មកវិញ;
ទិន្នន័យ[1]=0;
ប្ដូរ(TouchKey[1])
{
case1: បទពីមុន
ទិន្នន័យ[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
សម្រាក;
case2:// ផ្អាកការចាក់សារថ្មី។
ទិន្នន័យ[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
សម្រាក;
case3: បទបន្ទាប់
ទិន្នន័យ[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());
តភ្ជាប់(ប៊្លូធូស_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
នេះ&BLE_PairPage::BlueSearchConnectState);
//btchat=ថ្មី BtChat();
// btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
// btchat->លាក់ ();
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
តិច -> លាក់ ();
ភ្ជាប់(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(មិនពិត);
mwin->B_AUX-> setChecked (មិនពិត);
mwin->B_BT->setChecked (មិនពិត);
ប្រសិនបើ (របៀប ==1)
mwin->B_Upan->setChecked(ពិត);
ផ្សេងទៀតប្រសិនបើ (របៀប == 2)
mwin->B_AUX->setChecked(ពិត);
ផ្សេងទៀតប្រសិនបើ (របៀប ==3)
mwin->B_BT->setChecked(ពិត);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
នេះ[=](លេខរៀង){// ការកំណត់កម្រិតសំឡេងបង្ហាញ
mwin->QS_MainVol->setValue(vol);
});
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
នេះ[=](){
this->show();
តិច -> លាក់ ();
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0);
});
ទុកជាមោឃៈ 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,
នេះ[=](bool ok){
ui->pushButton->setEnabled(ពិត);
ui->pushButton->setText(“ចាប់ផ្តើមរកឃើញប៊្លូធូសដែលបានភ្ជាប់”);
ប្រសិនបើ (យល់ព្រម == មិនពិត) {
QMessageBox::information(this,tr(“Search Status “),” ឧបករណ៍មិនអាចស្វែងរកបានទេ សូមពិនិត្យមើលថាតើឧបករណ៍នេះត្រូវបានបើករួចហើយ ឬប្រសិនបើទូរសព្ទផ្សេងទៀតបានភ្ជាប់ជាមួយវារួចហើយ?”);} }); }
ទុកជាមោឃៈ BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, កំពុងដំណើរការ){
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(
នេះ, tr(“បានភ្ជាប់ដោយជោគជ័យ”), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“បានភ្ជាប់ដោយជោគជ័យ”);
this->លាក់();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
// btchat-> បង្ហាញ ();
//disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//this,&BLE_Page::BlueSearchConnectState); }
ផ្សេងទៀត{
ui->label_tips->setText(“ស្វែងរកការភ្ជាប់”); }


ពេលវេលាបង្ហោះ៖ ថ្ងៃទី២៣ ខែឧសភា ឆ្នាំ២០២៤