【Gufungura isoko Sc Mugaragaza DWIN na Terefone ya Android Inzira ebyiri Guhuza Igenzura Umuziki Gukina

–Kuvana Ihuriro ryabashinzwe iterambere

Iki kibazo kuri wewe kugirango usunikire ibihembo byatsindiye isoko-yisoko ryihuriro ryabateza imbere DWIN - ecran ya DWIN na terefone ya Android uburyo bubiri bwo guhuza imiziki gucuranga. Ba injeniyeri binyuze muri module ya Bluetooth kugirango bagere kuri ecran yubwenge ya DWIN hamwe no guhuza amakuru ya terefone ya Android, abakoresha barashobora kugenzura byoroshye terefone ya Android, USB flash ya disiki mu gukina indirimbo, guhagarara, guhindura indirimbo no kugena amajwi, uburambe bwa ecran yubwenge na terefone ya Android bibiri- inzira yoroshye kugenzura.

1.C51 Igishushanyo
.
int nyamukuru (ubusa)
{
INIT_CPU ();
T2_Ubushyuhe ();
UART4_Init ();
EA = 1;
// UART4_SendStr (“uraho”, ingano (“uraho”));
// WDT_ON (); // Hindura kuri Watchdog.
mugihe (1)
{
// WDT_RST (); // Ibirenge byimbwa
Inzira ();
}
}
ubusa UART4_Init (ubusa)
{
// UART4 Igipimo cya Baud:
// BODE2_DIV_H = CPU Ikomeza inshuro / (8 * Igipimo cya Baud).
// 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 Igipimo cya Baud
// BODE2_DIV_H = 0 × 00;
// FCLK / (8 * DIV)
// BODE2_DIV_L = 0 × 70;
// ES3T = 1;
ES2R = 1;
EA = 1;
}
Ubusa TenMsHandle (ubusa)
{
niba (! TenmsFlag)
garuka;
TenmsFlag = 0;
SourcePress (); // Imashini itanga amajwi
GukinaCtrPress (); // Gukina leta ihinduka
VolCtrSlider (); // Guhindura amajwi
VolLogSlider (); // Guhindura amajwi
SomaBtState (); // Soma Imiterere ya Bluetooth
}
Impfabusa SourcePress (ubusa)
{
charTouchKey [2] = {0,0};
u8Sdata [2];
soma_dgusii_vp (0 × 3000, TouchKey, 1);
niba (TouchKey [1] == 0)
garuka;
Sdata [1] = 0;
hindura (TouchKey [1])
{
urubanza1: // U disiki
Sdata [0] = 1;
KoherezaDataToBT (Andika_Run_Mode, Sdata, 1);
kumena;
urubanza2: // Umurongo wo hanzeMwinjiza
Sdata [0] = 2;
KoherezaDataToBT (Andika_Run_Mode, Sdata, 1);
kumena;
urubanza3: // Bluetooth
Sdata [0] = 3;
KoherezaDataToBT (Andika_Run_Mode, Sdata, 1);
kumena;
}
andika_dgusii_vp (0 × 3003, TouchKey, 1);
memset (TouchKey, 0, ubunini (TouchKey));
andika_dgusii_vp (0 × 3000, TouchKey, 1);
SomaBtStatecount = 0;
}
Ubusa PlayCtrPress (ubusa)
{
charTouchKey [2] = {0,0};
u8Sdata [2];
soma_dgusii_vp (0 × 3001, TouchKey, 1);
niba (TouchKey [1] == 0)
garuka;
Sdata [1] = 0;
hindura (TouchKey [1])
{
urubanza1: // Indirimbo ibanza
Sdata [0] = 1;
KoherezaDataToBT (Andika_Ibyanditswe_Pre_PT, Sdata, 1);
kumena;
urubanza2: // Kuruhuka gukina
Sdata [0] = 2;
KoherezaDataToBT (Andika_Ibyanditswe_Pre_PT, Sdata, 1);
kumena;
urubanza3: // Indirimbo ikurikira
Sdata [0] = 3;
KoherezaDataToBT (Andika_Ibyanditswe_Pre_PT, Sdata, 1);
kumena;
}
memset (TouchKey, 0, ubunini (TouchKey));
andika_dgusii_vp (0 × 3001, TouchKey, 1);
SomaBtStatecount = 0;
}

(2 pack Porogaramu ya software ya Android yanditswe binyuze muri QT, cyane cyane kumenya guhuza Bluetooth no kugenzura itumanaho hamwe na ecran yubwenge, igice cya code yerekana niyi ikurikira:
ui-> setupUi (iyi);
bluetooth_ble_Tool = Bluetooth_ble_Tool (“dwin_bt (BLE)”));
ui-> label_localBT_Name-> shirahoIbyanditswe (bluetooth_ble_Tool-> getLocalName ());
guhuza (bluetooth_ble_Tool, & Bluetooth_ble_Tool :: BlueSearchConnectState,
iyi, & BLE_PairPage :: BlueSearchConnectState);
// btchat = BtChat nshya ();
// btchat-> gushiraho_ibikoresho (bluetooth_ble_Tool);
// btchat-> init_Page ();
// btchat-> guhisha ();
devicecommHandle = Igikoresho gishyaComm ();
igikoresho.comHandle-> gushiraho_ibikoresho (bluetooth_ble_Tool);
igikoresho.comHandle-> InitDevice ();
mwin = mainwin nshya ();
munsi-> guhisha ();
guhuza (mwin, & mainwin: layChangeMode,
igikoresho.comHandle, & DeviceComm: layChangeMode); // Andika uburyo bwo guhindura bwatanzwe
guhuza (mwin, & mainwin: layCtrPreNextSt,
igikoresho cyumudugudu, & IgikoreshoComm: layCtrPreNextSt); // lit. andika ibice byo hejuru no hepfo yindirimbo
guhuza (mwin, & mainwin: layMusicVolChange,
igikoresho.comHandle, & DeviceComm: layMusicVolChange); // Andika impinduka zijwi hasi
guhuza (devicecommHandle, & DeviceComm :: SomaPlayMode,
iyi, [=] (int mode) {// Gushiraho uburyo bugezweho
qDebug() qDebug () B_Upan-> gushiraho Kugenzura (ibinyoma);
mwin-> B_AUX-> gushiraho Kugenzura (ibinyoma);
mwin-> B_BT-> gushiraho Kugenzura (ibinyoma);
niba (uburyo == 1)
mwin-> B_Upan-> gushiraho Kugenzura (ukuri);
ikindi niba (uburyo == 2)
mwin-> B_AUX-> gushiraho Kugenzura (ukuri);
ikindi niba (uburyo == 3)
mwin-> B_BT-> gushiraho Kugenzura (ukuri);
});
guhuza (devicecommHandle, & DeviceComm :: SomaPlayMusicVol,
iyi, [=] (int vol) {// Gushiraho Ijwi ryerekana
mwin-> QS_MainVol-> gushiraho Agaciro (vol);
});
guhuza (bluetooth_ble_Tool, & Bluetooth_ble_Tool :: BLE_Link_error,
iyi, [=] () {
iyi-> kwerekana ();
munsi-> guhisha ();
igikoresho.comHandle-> TimerStopSomaDeviceST ();
iyi-> ui-> iterambereBar-> gushiraho Agaciro (0);
});
Impfabusa BLE_PairPage :: on_pushButton_kanda () {
bluetooth_ble_Tool-> SetOperUuidServer (QBluetoothUuid (serviceUuid));
// ui-> label_localBT-> bisobanutse ();
// ui-> label_localBT_Name-> shirahoIbyanditswe (bluetooth_ble_Tool-> getLocalName ());
bluetooth_ble_Tool-> gutangiraGuhuzaBle ();
// bluetooth_ble_Tool-> gutangiraIterambere ryiterambereBar ();
ui-> gusunika Buto-> gushirahoEnabled (ibinyoma);
ui-> gusunika Buto-> gushirahoIbyanditswe (“Gushakisha“);
guhuza (bluetooth_ble_Tool, & Bluetooth_ble_Tool :: BlueBLE_FindDevice yarangiye,
iyi, [=] (bool ok) {
ui-> gusunika Buto-> gushirahoIbikorwa (ukuri);
ui-> gusunika Buto-> gushirahoIbyanditswe (“Tangira kumenya Bluetooth ihujwe“);
niba (ok == ibinyoma) {
QMessageBox :: amakuru (iyi, tr (“Imiterere Yishakisha“), ”, Igikoresho ntigishobora gushakishwa, nyamuneka reba niba igikoresho kimaze gufungura, cyangwa niba indi telefone igendanwa yamaze kuyihuza?”);}}); }
Impfabusa BLE_PairPage :: BlueSearchConnectState (Bluetooth_ble_Tool :: gutangiraIterambereIterambereBar_em Ihuza, int iterambere) {
ui-> iterambereBar-> gushiraho Agaciro (iterambere);
niba (Linkst> = Bluetooth_ble_Tool :: Ble_Ikindi kibazo) {
QMessageBox :: amakuru (iyi, tr (“guhuza kwihuta”), bluetooth_ble_Tool-> getErrorinfo ());
ui-> label_inama-> gushirahoIbyanditswe (bluetooth_ble_Tool-> getErrorinfo ());}
ikindi niba (Linkst> = Bluetooth_ble_Tool :: Ble_Deconnect_device) {
QMessageBox :: amakuru (iyi, tr (“guhuza byihuse“), ”buggy“);
ui-> label_inama-> gushirahoIbyanditswe (“buggy“);}
ikindi niba (Linkst == Bluetooth_ble_Tool :: Ble_Connect_characterOk) {// QMessageBox :: amakuru (
iyi, tr ("ihuza neza"), bluetooth_ble_Tool-> getErrorinfo ());
ui-> label_inama-> gushirahoIbyanditswe (“bihujwe neza”);
iyi-> guhisha ();
mwin-> kwerekana ();
igikoresho.comHandle-> TimerStartSomaDeviceST (100);
// btchat-> kwerekana ();
// guhagarika (bluetooth_ble_Tool, & Bluetooth_ble_Tool :: BlueSearchConnectState,
// iyi, & BLE_PairPage :: BlueSearchConnectState); }
ikindi {
ui-> label_inama-> gushirahoIbyanditswe (“Gushakisha amasano“); }


Igihe cyo kohereza: Gicurasi-23-2024