–Од форумот за програмери на DWIN
Ова прашање ви овозможува да ја поттикнете наградуваната кутија со отворен код на форумот за програмери на DWIN – екранот DWIN и двонасочното поврзување на телефонот Android ја контролираат репродукцијата на музика. Инженерите преку модулот Bluetooth за да постигнат интеракција со податоци за интелигентниот екран DWIN и телефонот Android, корисниците можат лесно да го контролираат телефонот со Android, USB флеш-уредот во репродукцијата на песната, да паузираат, да ги менуваат поставките за песната и звукот, да искусат интелигентен екран и телефонот со Android два- начин удобна контрола.
1.C51 Дизајн
(1) Серискиот приклучок T5L комуницира со модулот Bluetooth за да го измени статусот на репродукција, да ја постави јачината на звукот и да го прочита статусот на Bluetooth, дел од референтната шифра е како што следува:
int main (празнина)
{
INIT_CPU ();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr („здраво“, големина („здраво“));
//WDT_ON();//Вклучете го Watchdog.
додека (1)
{
//WDT_RST();//Нозете го кучето
Процес();
}
}
void UART4_Init(void)
{
// Поставка за брзина на бауд UART4:
//BODE2_DIV_H=Фреквенција на мрежата на процесорот/(8*Бауд стапка) .
//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 Бауд стапка
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle (празнина)
{
if(!TenmsFlag)
враќање;
TenmsFlag=0;
SourcePress();//Генератор на тонови
PlayCtrPress();//Промена на состојбата на репродукција
VolCtrSlider();//Промена на јачината на звукот
VolLogSlider();//Промена на јачината на звукот
ReadBtState();//Прочитај статус на Bluetooth
}
неважечки ИзворПрес (празнина)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,Touch Key,1);
ако (копче на допир[1]==0)
враќање;
Sdata[1]=0;
прекинувач (копче на допир[1])
{
case1://U диск
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
пауза;
case2:// Надворешен LineIn влез
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
пауза;
случај3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
пауза;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(Клуч на допир,0,големина(Клуче на допир));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
неважечки PlayCtrPress(празнина)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
ако (копче на допир[1]==0)
враќање;
Sdata[1]=0;
прекинувач (копче на допир[1])
{
case1:// Претходна песна
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
пауза;
case2:// Пауза на репродукција
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
пауза;
case3:// Следна песна
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
пауза;
}
memset(Клуч на допир,0,големина(Клуче на допир));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}
(2) Софтверскиот пакет 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,&Bluetooth_ble_Tool::BlueSearchConnectState,
ова,&BLE_PairPage::BlueSearchConnectState);
//btchat=нов BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=нов DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new 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()
mwin->B_AUX->setChecked(false);
mwin->B_BT->setChecked(false);
ако (режим==1)
mwin->B_Upan->setChecked(true);
друго ако (режим==2)
mwin->B_AUX->setChecked(true);
друго ако (режим==3)
mwin->B_BT->setChecked(true);
});
поврзување(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
ова,[=](int vol){// Поставување на екранот за јачина на звук
mwin->QS_MainVol->setValue(vol);
});
поврзи(алатка_блутут_бле,&алатка_блутут_бле::грешка_BLE_Link,
ова,[=](){
this-> show();
помалку->скриј();
devicecommHandle->TimerStopReadDeviceST();
this->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(false);
ui->pushButton->setText(„Се бара“);
поврзи(алатка bluetooth_ble,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
ова,[=](добро){
ui->pushButton->setEnabled(true);
ui->pushButton->setText(„Почни да откриваш поврзан Bluetooth“);
ако (ок==неточно) {
QMessageBox::information(this,tr(„Статус на пребарување“),“ Уредот не може да се пребарува, ве молиме проверете дали уредот е веќе вклучен или ако друг мобилен телефон е веќе поврзан со него?“);} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(progress);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(this,tr(„подлог за поврзување“), bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());}
else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::information(this,tr(„подлог за поврзување“),“ кабриолет „);
ui->label_tips->setText(„кабриолет“);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr(“успешно поврзан“),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(„успешно поврзан“);
this->hide();
mwin-> show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat-> show();
//исклучи се(алатката_блутут_бле,&алатката_блеј_блутут::BlueSearchConnectState,
//ова,&BLE_PairPage::BlueSearchConnectState); }
друго{
ui->label_tips->setText(„Барање врски“); }
Време на објавување: мај-23-2024 година