【Ачык чыганак】 DWIN Экран һәм Android Телефон Ике яклы бәйләнешне контроль музыка уйнау

- DWIN ясаучылар форумыннан

Бу проблема сезнең өчен DWIN уйлап табучылар форумының премиягә лаек булган ачык чыганагын этәрү - DWIN экраны һәм Android телефоны ике яклы бәйләнешне контроль музыка уйнау. DWIN интеллектуаль экранга һәм Android телефон мәгълүматларының үзара бәйләнешенә ирешү өчен, Bluetooth модуле аша инженерлар Android телефонын, җыр уйнаудагы USB флеш дискны җиңел генә контрольдә тота алалар, пауза ясыйлар, җыр һәм тавыш көйләүләрен үзгәртә алалар, акыллы экран һәм Android телефоны ике- уңайлы контроль юл.

1.C51 Дизайн
(1) T5L серияле порт уйнау статусын үзгәртү, тавыш күләмен билгеләү һәм Bluetooth статусын уку өчен Bluetooth модуле белән үзара бәйләнештә тора, белешмә кодның бер өлеше түбәндәгечә:
int main (буш)
{
INIT_CPU ();
T2_Heat ();
UART4_Init ();
EA = 1;
// UART4_SendStr ("сәлам", зурлык ("сәлам"));
// WDT_ON (); // Күзәтүне кабызыгыз.
шул вакытта (1)
{
// WDT_RST (); // Этне аякка бастырыгыз
Процесс ();
}
}
буш UART4_Init (буш)
{
// UART4 Baud ставкасын көйләү:
// BODE2_DIV_H = үзәк эшкәрткеч җайланма ешлыкны саклый / (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 (буш)
{
if (! TenmsFlag)
кайту;
TenmsFlag = 0;
SourcePress (); // Тон генераторы
PlayCtrPress (); // Уйнау дәүләт үзгәреше
VolCtrSlider (); // Том күләме үзгәрү
VolLogSlider (); // Том күләме үзгәрү
ReadBtState (); // Bluetooth статусын укыгыз
}
буш SourcePress (буш)
{
charTouchKey [2] = {0,0};
u8Сдата [2];
read_dgusii_vp (0 × 3000, TouchKey, 1);
if (TouchKey [1] == 0)
кайту;
Сдата [1] = 0;
күчерү (TouchKey [1])
{
очрак1: // U диск
Сдата [0] = 1;
SendDataToBT (Язу_Рун_Мод, Сдата, 1);
тәнәфес;
очрак2: // Тышкы сызык кертү
Сдата [0] = 2;
SendDataToBT (Язу_Рун_Мод, Сдата, 1);
тәнәфес;
очрак3: // Bluetooth
Сдата [0] = 3;
SendDataToBT (Язу_Рун_Мод, Сдата, 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};
u8Сдата [2];
read_dgusii_vp (0 × 3001, TouchKey, 1);
if (TouchKey [1] == 0)
кайту;
Сдата [1] = 0;
күчерү (TouchKey [1])
{
очрак1: // Алдагы җыр
Сдата [0] = 1;
SendDataToBT (Яз_Next_Pre_PT, Сдата, 1);
тәнәфес;
очрак2: // Уйнау паузасы
Сдата [0] = 2;
SendDataToBT (Яз_Next_Pre_PT, Сдата, 1);
тәнәфес;
очрак3: // Киләсе җыр
Сдата [0] = 3;
SendDataToBT (Яз_Next_Pre_PT, Сдата, 1);
тәнәфес;
}
memset (TouchKey, 0, sizeof (TouchKey));
write_dgusii_vp (0 × 3001, TouchKey, 1);
ReadBtStatecount = 0;
}

(2 Android Android программа пакеты QT аша язылган, нигездә, акыллы экран белән Bluetooth тоташуын һәм элемтә контролен тормышка ашыра, белешмә кодның бер өлеше түбәндәгечә:
ui-> setupUi (бу);
bluetooth_ble_Tool = яңа Bluetooth_ble_Tool ("dwin_bt (BLE)");
ui-> label_localBT_Name-> setText (bluetooth_ble_Tool-> getLocalName ());
тоташу (bluetooth_ble_Tool, & Bluetooth_ble_Tool :: BlueSearchConnectState,
бу, & BLE_PairPage :: BlueSearchConnectState);
// btchat = яңа BtChat ();
// btchat-> set_ble_Tool (bluetooth_ble_Tool);
// btchat-> init_Page ();
// btchat-> яшерү ();
devicecommHandle = яңа DeviceComm ();
devicecommHandle-> set_ble_Tool (bluetooth_ble_Tool);
devicecommHandle-> InitDevice ();
mwin = яңа mainwin ();
аз-> яшерү ();
тоташтыру (mwin, & mainwin: layChangeMode,
devicecommHandle, & DeviceComm: layChangeMode); // Язу режимын үзгәртү бирелгән
тоташтыру (mwin, & mainwin: layCtrPreNextSt,
devicecommHandle, & DeviceComm: layCtrPreNextSt); // яктыртылган. җырның өске һәм аскы өлешләрен языгыз
тоташтыру (mwin, & mainwin: layMusicVolChange,
devicecommHandle, & DeviceComm: layMusicVolChange); // Тавыш үзгәрүен языгыз
тоташу (devicecommHandle, & DeviceComm :: ReadPlayMode,
бу, [=] (int режим) {// Хәзерге режимны көйләү
qDebug() qDebug () B_Upan-> setChecked (ялган);
mwin-> B_AUX-> setChecked (ялган);
mwin-> B_BT-> setChecked (ялган);
if (режим == 1)
mwin-> B_Upan-> setChecked (дөрес);
бүтән очракта (режим == 2)
mwin-> B_AUX-> setChecked (дөрес);
бүтән очракта (режим == 3)
mwin-> B_BT-> setChecked (дөрес);
});
тоташу (devicecommHandle, & DeviceComm :: ReadPlayMusicVol,
бу, [=] (int vol) {// Том күләмен күрсәтү
mwin-> QS_MainVol-> setValue (том);
});
тоташу (bluetooth_ble_Tool, & Bluetooth_ble_Tool :: BLE_Link_error,
бу, [=] () {
бу-> күрсәтү ();
аз-> яшерү ();
devicecommHandle-> TimerStopReadDeviceST ();
бу-> ui-> прогрессБар-> setValue (0);
});
буш BLE_PairPage :: on_pushButton_clicked () {
bluetooth_ble_Tool-> SetOperUuidServer (QBluetoothUuid (serviceUuid));
// ui-> label_localBT-> ачык ();
// ui-> label_localBT_Name-> setText (bluetooth_ble_Tool-> getLocalName ());
bluetooth_ble_Tool-> startFindConnectBle ();
// bluetooth_ble_Tool-> startStatepresentBar ();
ui-> pushButton-> setEnabled (ялган);
ui-> pushButton-> setText ("Эзләү");
тоташу (bluetooth_ble_Tool, & Bluetooth_ble_Tool :: BlueBLE_FindDevicefinished,
бу, [=] (әйбәт) {
ui-> pushButton-> setEnabled (дөрес);
ui-> pushButton-> setText ("тоташтырылган Bluetoothны ачыклый башлагыз");
if (ok == ялган) {
QMessageBox :: информация (бу, tr ("Эзләү статусы"), "deviceайланманы эзләп булмый, зинһар, җайланма кабызылганмы, яисә бүтән кәрәзле телефон аңа тоташканмы?");}}); }
буш BLE_PairPage :: BlueSearchConnectState (Bluetooth_ble_Tool :: startStatepresentBar_em Linkst, int прогресс) {
ui-> progressBar-> setValue (прогресс);
if (Linkst> = Bluetooth_ble_Tool :: Ble_OtherError) {
QMessageBox :: мәгълүмат (бу, tr ("тоташу соравы"), bluetooth_ble_Tool-> getErrorinfo ());
ui-> label_tips-> setText (bluetooth_ble_Tool-> getErrorinfo ());}
бүтән очракта (Linkst> = Bluetooth_ble_Tool :: Ble_Deconnect_device) {
QMessageBox :: информация (бу, tr ("тоташу соравы"), "хата");
ui-> label_tips-> setText ("buggy");}
бүтән очракта (Linkst == Bluetooth_ble_Tool :: Ble_Connect_characterOk) {// QMessageBox :: мәгълүмат (
бу, tr ("уңышлы тоташтырылган"), bluetooth_ble_Tool-> getErrorinfo ());
ui-> label_tips-> setText ("уңышлы тоташтырылган");
бу-> яшерү ();
mwin-> шоу ();
devicecommHandle-> TimerStartReadDeviceST (100);
// btchat-> шоу ();
// өзегез (bluetooth_ble_Tool, & Bluetooth_ble_Tool :: BlueSearchConnectState,
// бу, & BLE_PairPage :: BlueSearchConnectState); }
бүтән {
ui-> label_tips-> setText ("Бәйләнеш эзләү"); }


Пост вакыты: 23-2024 май