– DWIN Иштеп чыгуучулар форумунан
Бул чыгарылыш сизге DWIN иштеп чыгуучу форумунун сыйлыкка ээ болгон ачык булагы – DWIN экраны жана Android телефонунун эки тараптуу байланышын башкаруу музыкасын ойнотуу үчүн. Bluetooth модулу аркылуу инженерлер DWIN интеллектуалдык экранына жана Android телефонунун маалыматтарынын өз ара аракеттенүүсүнө жетишүү үчүн, колдонуучулар Android телефонун, USB флэш-дискти ырды ойнотууда оңой башкара алышат, тындырышат, ырды жана үн жөндөөлөрүн өзгөртө алышат, акылдуу экранды жана Android телефонун экиден көрө алышат. ыңгайлуу жол башкаруу.
1.C51 Дизайн
(1) T5L сериялык порту ойнотуу абалын өзгөртүү, үнүн коюу жана Bluetooth статусун окуу үчүн Bluetooth модулу менен иштешет, шилтеме кодунун бир бөлүгү төмөнкүдөй:
int негизги(жараксыз)
{
INIT_CPU();
T2_Heat();
UART4_Init();
EA=1;
//UART4_SendStr("салам",sizeof("салам"));
//WDT_ON();//Күзөтүүчүнү күйгүзүү.
while(1)
{
//WDT_RST();//Иттин буттары
Process();
}
}
void UART4_Init(жараксыз)
{
// UART4 Бауд ылдамдыгын орнотуу:
//BODE2_DIV_H=CPU Тармак жыштыгы/(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 статусун окуу
}
void SourcePress(жараксыз)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
кайтаруу;
Sdata[1]=0;
которуштуруу(TouchKey[1])
{
case1://U диск
Sdata[0]=1;
SendDataToBT(Write_Run_Mode, Sdata,1);
үзүү;
case2:// Тышкы LineIn киргизүү
Sdata[0]=2;
SendDataToBT(Write_Run_Mode, Sdata,1);
үзүү;
case3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode, Sdata,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};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
кайтаруу;
Sdata[1]=0;
которуштуруу(TouchKey[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(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}
(2) Android программалык пакети QT аркылуу жазылган, негизинен Bluetooth байланышын жана смарт экран менен байланышты башкарууну ишке ашырат, маалымдама кодунун бир бөлүгү төмөнкүдөй:
ui->setupUi(this);
bluetooth_ble_Tool=new Bluetooth_ble_Tool("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
this,&BLE_PairPage::BlueSearchConnectState);
//btchat=new BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->hide();
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
less->hide();
туташуу(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Жазуу режимин өзгөртүү чыгарылды
connect(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// жарык. ырдын үстүнкү жана төмөнкү бөлүктөрүн жаз
Connect(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);
башка if(режим==2)
mwin->B_AUX->setChecked(true);
башка if(режим==3)
mwin->B_BT->setChecked(true);
});
туташуу(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
бул,[=](int том){// Үндүн дисплейин орнотуу
mwin->QS_MainVol->setValue(том);
});
туташуу(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
бул,[=](){
this->show();
less->hide();
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_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
бул,[=](боол макул){
ui->pushButton->setEnabled(true);
ui->pushButton->setText("Туташкан Bluetooth аныктай башта");
if(ok==false) {
QMessageBox::information(this,tr(“Издөө Статусу “),” Түзмөктү издөө мүмкүн эмес, аппараттын күйгүзүлгөнүн же ага башка уюлдук телефон туташып калганын текшериңизби?");} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(прогресс);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(бул,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("байланыш сунушу"),"buggy ");
ui->label_tips->setText(“buggy”);}
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();
//ажыратуу(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//this,&BLE_PairPage::BlueSearchConnectState); }
башка{
ui->label_tips->setText("Байланыштарды издөө "); }
Посттун убактысы: 23-май-2024