【Bude Madogara】 Fuskar DWIN da Wayar Android Wayar Hannu Biyu Mai Sarrafa Waƙar Kiɗa

–Daga DWIN Developer Forum

Wannan fitowar a gare ku don tura karar buɗaɗɗen tushe na lambar yabo ta dandalin masu haɓaka DWIN - allon DWIN da kuma sake kunna kiɗan haɗin gwiwar wayar hannu biyu. Injiniyoyin ta hanyar na'urar Bluetooth don cimma allo mai hankali na DWIN da hulɗar bayanan wayar Android, masu amfani za su iya sarrafa wayar Android cikin sauƙi, kebul na USB a cikin kunna waƙar, dakatarwa, canza waƙa da saitunan sauti, goge allo mai hankali da wayar Android biyu- hanya dace iko.

1.C51 Zane
(1) Serial port na T5L yana hulɗa tare da tsarin Bluetooth don gyara matsayin sake kunnawa, saita ƙara, da karanta halin Bluetooth, ɓangaren lambar ma'anar shine kamar haka:
int main(void)
{
INIT_CPU();
T2_Zafi();
UART4_Init();
EA=1;
// UART4_SendStr ("hello", girman ("hello"));
//WDT_ON();// Kunna Watchdog.
yayin (1)
{
//WDT_RST();//Karen kare
Tsari();
}
}
UART4_Init (rashin banza)
{
// Saitin ƙimar Baud na UART4:
//BODE2_DIV_H=CPU Mains Mitar/(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 Yawan Baud
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
fanko TenMsHandle(void)
{
idan (!TenmsFlag)
dawowa;
TenmsFlag=0;
SourcePress();//Tone janareta
PlayCtrPress();// Canjin yanayin sake kunnawa
VolCtrSlider ();// Canjin ƙara
VolLogSlider();// Canjin ƙara
ReadBtState();//Karanta halin Bluetooth
}
Void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
idan (TouchKey[1]==0)
dawowa;
Sdata[1]=0;
canza (TouchKey[1])
{
case1: // U disk
Sdata[0]=1;
AikaDataToBT(Rubuta_Run_Mode,Sdata,1);
karya;
case2: // External LineInput
Sdata[0]=2;
AikaDataToBT(Rubuta_Run_Mode,Sdata,1);
karya;
case3: // Bluetooth
Sdata[0]=3;
AikaDataToBT(Rubuta_Run_Mode,Sdata,1);
karya;
}
rubuta_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
rubuta_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
banza PlayCtrPress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
idan (TouchKey[1]==0)
dawowa;
Sdata[1]=0;
canza (TouchKey[1])
{
case1:// Wakar da ta gabata
Sdata[0]=1;
AikaDataToBT(Rubuta_Next_Pre_PT,Sdata,1);
karya;
case2: // Dakatar da sake kunnawa
Sdata[0]=2;
AikaDataToBT(Rubuta_Next_Pre_PT,Sdata,1);
karya;
case3:// Gaba song
Sdata[0]=3;
AikaDataToBT(Rubuta_Next_Pre_PT,Sdata,1);
karya;
}
memset(TouchKey,0,sizeof(TouchKey));
rubuta_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) An rubuta fakitin software ta Android ta hanyar QT, galibi sanin haɗin haɗin Bluetooth da sarrafa sadarwa tare da allon wayo, ɓangaren lambar bincike shine kamar haka:
ui->setupUi (wannan);
bluetooth_ble_Tool=sabon Bluetooth_ble_Tool("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
haɗa (bluetooth_ble_Tool,&Bluetooth_ble_Tool ::BlueSearchConnectState,
wannan,&BLE_PairPage::BlueSearchConnectState);
//btchat=sabon BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->boye();
DevicecommHandle=sabon DeviceComm();
DevicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
DevicecommHandle-> InitDevice ();
mwin=sabon mainwin();
kasa->boye();
haɗa (mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// An bayar da canjin yanayin rubutu
haɗa (mwin,&mainwin:layCtrPreNextSt,
DevicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. rubuta manyan sassa na waƙa
haɗa (mwin,&mainwin:layMusicVolChange,
DevicecommHandle,&Na'uraComm:layMusicVolChange);// Rubuta canjin ƙarar ƙasa
haɗa (na'urarcommHandle, & Na'uraComm :: ReadPlayMode,
wannan,[=](int yanayin){// Saita yanayin halin yanzu
qDebug() qDebug() B_Upan-> setChecked(ƙarya);
mwin-> B_AUX-> setChecked (ƙarya);
mwin-> B_BT-> setChecked (ƙarya);
idan (mode=1)
mwin-> B_Upan-> setChecked (gaskiya);
idan kuma (mode=2)
mwin-> B_AUX-> setChecked (gaskiya);
idan kuma (mode=3)
mwin-> B_BT-> setChecked (gaskiya);
});
haɗa (na'urarcommHandle,&Na'uraComm :: ReadPlayMusicVol,
wannan,[=](int vol){// Saita Nunin Ƙarar
mwin->QS_MainVol->setValue(vol);
});
haɗa (bluetooth_ble_Tool,&Bluetooth_ble_Tool ::BLE_Link_error,
wannan,[=](){
wannan-> nuna();
kasa->boye();
DevicecommHandle->TimerStopReadDeviceST();
wannan->ui->progressBar->setValue(0);
});
banza BLE_PairPage ::akan_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid));
// ui->label_localBT-> bayyana ();
//ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
bluetooth_ble_Tool->startFindConnectBle();
// bluetooth_ble_Tool->startStateprogressBar();
ui->pushButton->setEnabled (ƙarya);
ui->pushButton->setText("Bincike");
haɗa (bluetooth_ble_Tool,&Bluetooth_ble_Tool ::BlueBLE_FindNa'urar,
wannan,[=](bool ok){
ui->pushButton->setEnabled (gaskiya);
ui->pushButton->setText("Fara gano haɗin Bluetooth");
idan (ok== karya) {
QMessageBox:: bayani (wannan,tr ("Yanayin Bincike"), Ba za a iya bincika na'urar ba, da fatan za a duba idan an riga an kunna na'urar, ko kuma an riga an haɗa wata wayar salula da ita? ");}}); }
banza BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int ci gaba){
ui->progressBar->setValue (ci gaba);
idan (Linkst>=Bluetooth_ble_Tool::Ble_Saura Kuskure){
QMessageBox :: bayani (wannan,tr ("haɗin haɗi"), bluetooth_ble_Tool-> getErrorinfo ());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
idan kuma (Linkst>=Bluetooth_ble_Tool :: Ble_Deconnect_device){
QMessageBox :: bayani (wannan,tr ("haɗin haɗi ")," buggy ");
ui->label_tips->setText("buggy");}
idan kuma (Linkst==Bluetooth_ble_Tool:: Ble_Connect_characterOk){// QMessageBox:: bayani(
wannan,tr ("nasarar haɗawa"), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText("An yi nasarar haɗa");
wannan->boye();
mwin-> nuna();
DevicecommHandle->TimerStartReadDeviceST(100);
//btchat-> nuna();
// cire haɗin (bluetooth_ble_Tool,&Bluetooth_ble_Tool ::BlueSearchConnectState,
//wannan,&BLE_PairPage::BlueSearchConnectState); }
wani{
ui->label_tips->setText("Neman haɗi"); }


Lokacin aikawa: Mayu-23-2024