【Open Source】 DWIN Skirini uye Android Foni Nzira mbiri Yekubatanidza Kudzora Mumhanzi Kuridza

-Kubva kuDWIN Developer Forum

Iyi nyaya yekuti iwe usundire mubairo-kuhwina-yakavhurika-sosi kesi yeDWIN yekuvandudza foramu - DWIN skrini uye Android foni nzira mbiri dzekubatanidza kudzora mimhanzi kutamba. Mainjiniya kuburikidza neBluetooth module yekuzadzisa iyo DWIN yakangwara skrini uye Android foni data kupindirana, vashandisi vanogona kudzora zviri nyore foni yeAroid, USB flash drive mumutambo wenziyo, kumbomira, shandura rwiyo uye magadzirirwo ekurira, ruzivo rwehungwaru skrini uye Android foni mbiri- nzira yakanakira kudzora.

1.C51 Dhizaini
(1) Iyo T5L serial port inopindirana neBluetooth module kugadzirisa mamiriro ekutamba, kuseta vhoriyamu, uye kuverenga iyo Bluetooth mamiriro, chikamu cheiyo referensi kodhi senge:
int main (isina)
{
INIT_CPU();
T2_Kupisa();
UART4_Init();
EA=1;
// UART4_SendStr("hello", sizeof("hello"));
//WDT_ON();//Batidza iyo Watchdog.
nguva (1)
{
//WDT_RST();//Tsoka imbwa
Maitiro ();
}
}
pasina UART4_Init(isina)
{
// UART4 Baud chiyero chekumisikidza:
//BODE2_DIV_H=CPU Mains frequency/(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 rate
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(void)
{
kana(!TenmsFlag)
return;
TenmsFlag=0;
SourcePress();//Toni jenareta
PlayCtrPress();//Playback mamiriro ekuchinja
VolCtrSlider();//Volume shanduko
VolLogSlider ();//Volume shanduko
ReadBtState();//Verenga Bluetooth mamiriro
}
void SourcePress (pasina)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
kana(TouchKey[1]==0)
return;
Mashoko[1]=0;
chinja (TouchKey[1])
{
kesi1://U dhisiki
Chinyorwa[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
break;
case2:// External LineIn Input
Chinyorwa[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
break;
kesi3: //Bluetooth
Chinyorwa[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
break;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
void PlayCtrPress (isina)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
kana(TouchKey[1]==0)
return;
Mashoko[1]=0;
chinja (TouchKey[1])
{
case1:// Rwiyo rwapfuura
Chinyorwa[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
break;
case2:// Kutamba Kumbomira
Chinyorwa[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
break;
case3: // Rwiyo runotevera
Chinyorwa[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
break;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) Iyo Android software package yakanyorwa kuburikidza neQT, kunyanya kuona kubatana kweBluetooth uye kutonga kwekutaurirana nesmart screen, chikamu chereferenzi kodhi ndeichi:
ui-> setupUi(izvi);
bluetooth_ble_Tool=new Bluetooth_ble_Tool(“dwin_bt(BLE)”);
ui-> label_localBT_Name-> setText(bluetooth_ble_Tool->getLocalName());
batanidza(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
iyi,&BLE_PairPage::BlueSearchConnectState);
//btchat=new BtChat();
//btchat-> set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat-> kuviga ();
devicecommHandle=new DeviceComm();
devicecommHandle-> set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle-> InitDevice ();
mwin=new mainwin();
zvishoma-> kuviga ();
batanidza (mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Nyora modhi shanduko yakapihwa
batanidza (mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. nyora pasi chikamu chepamusoro nechepazasi cherwiyo
batanidza (mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Nyora kuchinja kwevhoriyamu pasi
batanidza(mudziyocommHandle,&DeviceComm ::ReadPlayMode,
iyi,[=](int mode){// Kuseta mamiriro azvino
qDebug() qDebug() B_Upan-> setChecked(nhema);
mwin->B_AUX-> setChecked(nhema);
mwin->B_BT-> setChecked(nhema);
kana(modhi==1)
mwin->B_Upan-> setChecked(chokwadi);
zvimwe kana(modhi==2)
mwin->B_AUX-> setChecked(chokwadi);
zvimwe kana(modhi==3)
mwin->B_BT-> setChecked(chokwadi);
});
batanidza(mudziyocommHandle,&DeviceComm ::ReadPlayMusicVol,
izvi,[=](int vol){// Kuseta Volume Display
mwin-> QS_MainVol-> setValue(vol);
});
batanidza(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
izvi,[=](){
this-> show();
zvishoma-> kuviga ();
devicecommHandle-> TimerStopReadDeviceST();
iyi-> 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 (nhema);
ui-> pushButton-> setText(“Kutsvaga”);
batanidza(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
izvi,[=](bhoo zvakanaka){
ui-> pushButton-> setEnabled (chokwadi);
ui-> pushButton-> setText ("Tanga kuona yakabatana Bluetooth");
kana(OK==nhema) {
QMessageBox ::ruzivo(ichi,tr(“Search Status “),” Chishandiso hachigone kutsvagwa, ndapota tarisa kuti mudziyo wacho wakabatidzwa here, kana kuti imwe nharembozha yakatobatanidzwa kwairi?”);} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar-> setValue(kufambira mberi);
kana(Chibatanidza>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox :: ruzivo (ichi, tr ("kubatanidza kukurumidza "), bluetooth_ble_Tool-> getErrorinfo ());
ui-> label_tips-> setText(bluetooth_ble_Tool->getErrorinfo());}
zvimwe kana(Chibatanidza>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox :: ruzivo (ichi, tr ("kubatanidza kukurumidza ")," buggy ");
ui-> label_tips-> setText(“buggy”);}
zvimwe kana(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::ruzivo(
iyi,tr(“yakabatana zvakabudirira”),bluetooth_ble_Tool->getErrorinfo());
ui-> label_tips-> setText("zvakabudirira kubatana");
this-> hide();
mwin-> show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat-> show();
// dimbura(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//izvi,&BLE_PairPage::BlueSearchConnectState); }
zvimwe{
ui-> label_tips-> setText(“Kutsvaga zvinongedzo”); }


Nguva yekutumira: May-23-2024