【Açyk çeşme】 DWIN Ekrany we Android Telefon Iki taraplaýyn baglanyşyk dolandyryş saz çalmagy

D DWIN dörediji forumyndan

Bu mesele, DWIN dörediji forumyň baýrakly açyk çeşmesini - DWIN ekrany we Android telefony iki taraplaýyn baglanyşyk gözegçilik saz çalmagy üçin itergi berer. DWIN akylly ekrany we Android telefon maglumatlary özara täsirini gazanmak üçin Bluetooth modulynyň üsti bilen inersenerler, ulanyjylar Android telefonyny, aýdym oýnamakdaky USB fleş diskini aňsatlyk bilen dolandyryp bilerler, durup bilerler, aýdym we ses sazlamalaryny üýtgedip bilerler, akylly ekrany we Android telefonyny başdan geçirip bilerler- amatly gözegçilik ýoly.

1.C51 Dizaýn
(1) T5L seriýa porty, oýnamak ýagdaýyny üýtgetmek, ses derejesini kesgitlemek we Bluetooth ýagdaýyny okamak üçin Bluetooth moduly bilen täsirleşýär, salgy kodunyň bir bölegi aşakdaky ýaly:
int main (boş)
{
INIT_CPU ();
T2_Heat ();
UART4_Init ();
EA = 1;
// UART4_SendStr (“salam”, ululygy (“salam”));
// WDT_ON (); // Gözegçini açyň.
(1)
{
// WDT_RST (); // Itiň aýagy
Amal ();
}
}
boş UART4_Init (boş)
{
// UART4 Baud derejesini kesgitlemek:
// BODE2_DIV_H = CPU ýygylygy üpjün edýär / (8 * Baud tizligi).
// 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 derejesi
// BODE2_DIV_H = 0 × 00;
// FCLK / (8 * DIV)
// BODE2_DIV_L = 0 × 70;
// ES3T = 1;
ES2R = 1;
EA = 1;
}
boş TenMsHandle (boş)
{
eger (! TenmsFlag)
gaýdyp gelmek;
TenmsFlag = 0;
SourcePress (); // Ses generatory
PlayCtrPress (); // Aýdym ýagdaýynyň üýtgemegi
VolCtrSlider (); // Sesiň üýtgemegi
VolLogSlider (); // Sesiň üýtgemegi
ReadBtState (); // Bluetooth ýagdaýyny okaň
}
boş SourcePress (boş)
{
charTouchKey [2] = {0,0};
u8Sdata [2];
oka_dgusii_vp (0 × 3000, TouchKey, 1);
eger (TouchKey [1] == 0)
gaýdyp gelmek;
Sdata [1] = 0;
wyklýuçatel (TouchKey [1])
{
case1: // U disk
Sdata [0] = 1;
SendDataToBT (Write_Run_Mode, Sdata, 1);
arakesme;
ýagdaý2: // Daşarky setir giriş
Sdata [0] = 2;
SendDataToBT (Write_Run_Mode, Sdata, 1);
arakesme;
mysal3: // Bluetooth
Sdata [0] = 3;
SendDataToBT (Write_Run_Mode, Sdata, 1);
arakesme;
}
ýazmak_dgusii_vp (0 × 3003, TouchKey, 1);
memset (TouchKey, 0, ululygy (TouchKey));
ýazmak_dgusii_vp (0 × 3000, TouchKey, 1);
ReadBtStatecount = 0;
}
boş PlayCtrPress (boş)
{
charTouchKey [2] = {0,0};
u8Sdata [2];
oka_dgusii_vp (0 × 3001, TouchKey, 1);
eger (TouchKey [1] == 0)
gaýdyp gelmek;
Sdata [1] = 0;
wyklýuçatel (TouchKey [1])
{
mysal1: // Öňki aýdym
Sdata [0] = 1;
SendDataToBT (Writeazmak_Next_Pre_PT, Sdata, 1);
arakesme;
ýagdaý2: // Aýtdyrmak arakesmesi
Sdata [0] = 2;
SendDataToBT (Writeazmak_Next_Pre_PT, Sdata, 1);
arakesme;
mysal3: // Indiki aýdym
Sdata [0] = 3;
SendDataToBT (Writeazmak_Next_Pre_PT, Sdata, 1);
arakesme;
}
memset (TouchKey, 0, ululygy (TouchKey));
ýazmak_dgusii_vp (0 × 3001, TouchKey, 1);
ReadBtStatecount = 0;
}

(2 Android Android programma üpjünçiligi bukjasy, esasan, akylly ekran bilen Bluetooth birikmesini we aragatnaşyk gözegçiligini amala aşyrýan QT arkaly ýazylýar, salgylanma kodunyň bir bölegi aşakdakylar:
ui-> setupUi (bu);
bluetooth_ble_Tool = täze Bluetooth_ble_Tool (“dwin_bt (BLE)”);
ui-> label_localBT_Name-> setText (bluetooth_ble_Tool-> getLocalName ());
birikdiriň (bluetooth_ble_Tool, we Bluetooth_ble_Tool :: BlueSearchConnectState,
bu, & BLE_PairPage :: BlueSearchConnectState);
// btchat = täze BtChat ();
// btchat-> set_ble_Tool (bluetooth_ble_Tool);
// btchat-> init_Page ();
// btchat-> gizlemek ();
devicecommHandle = täze DeviceComm ();
devicecommHandle-> set_ble_Tool (bluetooth_ble_Tool);
devicecommHandle-> InitDevice ();
mwin = täze mainwin ();
az-> gizlemek ();
birikdiriň (mwin, & mainwin: layChangeMode,
devicecommHandle, & DeviceComm: layChangeMode); // Writeazmak tertibi üýtgedildi
birikdiriň (mwin, & mainwin: layCtrPreNextSt,
devicecommHandle, & DeviceComm: layCtrPreNextSt); // ýakylýar. aýdymyň ýokarky we aşaky böleklerini ýazyň
birikdiriň (mwin, & mainwin: layMusicVolChange,
devicecommHandle, & DeviceComm: layMusicVolChange); // Sesiň üýtgemegini ýazyň
birikdiriň (devicecommHandle, & DeviceComm :: ReadPlayMode,
bu, [=] (int rejimi) {// Häzirki tertibi düzmek
qDebug() qDebug () B_Upan-> setChecked (ýalan);
mwin-> B_AUX-> setChecked (ýalan);
mwin-> B_BT-> setChecked (ýalan);
eger (re = im == 1)
mwin-> B_Upan-> setChecked (dogry);
bolmasa (re = im == 2)
mwin-> B_AUX-> setChecked (dogry);
bolmasa (re = im == 3)
mwin-> B_BT-> setChecked (dogry);
});
birikdiriň (devicecommHandle, & DeviceComm :: ReadPlayMusicVol,
bu, [=] (int vol) {// Sesiň ekranyny düzmek
mwin-> QS_MainVol-> setValue (vol);
});
birikdiriň (bluetooth_ble_Tool, we Bluetooth_ble_Tool :: BLE_Link_error,
bu, [=] () {
bu-> görkezmek ();
az-> gizlemek ();
devicecommHandle-> TimerStopReadDeviceST ();
this-> ui-> progressBar-> setValue (0);
});
boş BLE_PairPage :: on_pushButton_clicked () {
bluetooth_ble_Tool-> SetOperUuidServer (QBluetoothUuid (serviceUuid));
// ui-> label_localBT-> aýdyň ();
// ui-> label_localBT_Name-> setText (bluetooth_ble_Tool-> getLocalName ());
bluetooth_ble_Tool-> startFindConnectBle ();
// bluetooth_ble_Tool-> startStatepresentBar ();
ui-> pushButton-> setEnabled (ýalan);
ui-> pushButton-> setText (“Gözlemek”);
birikdiriň (bluetooth_ble_Tool, we Bluetooth_ble_Tool :: BlueBLE_FindDevicefinished,
bu, [=] (bool ok) {
ui-> pushButton-> setEnabled (dogry);
ui-> pushButton-> setText (“Birikdirilen Bluetooth tapyp başlaň”);
eger (ok == ýalan) {
QMessageBox :: maglumat (bu, tr (“Gözleg ýagdaýy”), “Enjamy gözläp bolmaýar, enjamyň eýýäm açykdygyny ýa-da başga bir öýjükli telefon birikdirilendigini barlaň?”);}}); }
boş BLE_PairPage :: BlueSearchConnectState (Bluetooth_ble_Tool :: startStatepresentBar_em Linkst, int ösüş) {
ui-> progressBar-> setValue (öňegidişlik);
eger (Linkst> = Bluetooth_ble_Tool :: Ble_OtherError) {
QMessageBox :: maglumat (bu, tr (“birikme soragy”), bluetooth_ble_Tool-> getErrorinfo ());
ui-> label_tips-> setText (bluetooth_ble_Tool-> getErrorinfo ());}
başgaça bolsa (Linkst> = Bluetooth_ble_Tool :: Ble_Deconnect_device) {
QMessageBox :: maglumat (bu, tr (“birikme soragy”), “buggy”);
ui-> label_tips-> setText (“buggy”);}
başgaça bolsa (Linkst == Bluetooth_ble_Tool :: Ble_Connect_characterOk) {// QMessageBox :: maglumat (
bu, tr (“üstünlikli birikdirildi”), bluetooth_ble_Tool-> getErrorinfo ());
ui-> label_tips-> setText (“üstünlikli birikdirildi”);
bu-> gizlemek ();
mwin-> görkezmek ();
devicecommHandle-> TimerStartReadDeviceST (100);
// btchat-> görkezmek ();
// aýyrmak (bluetooth_ble_Tool, we Bluetooth_ble_Tool :: BlueSearchConnectState,
// bu, & BLE_PairPage :: BlueSearchConnectState); }
başga {
ui-> label_tips-> setText (“Baglanyşyk gözlemek”); }


Iş wagty: Maý-23-2024