【Codi obert】 La pantalla DWIN i l'enllaç bidireccional del telèfon Android controlen la reproducció de música

–Des del Fòrum de Desenvolupadors DWIN

Aquest problema us permet impulsar el premiat cas de codi obert del fòrum de desenvolupadors DWIN: la pantalla DWIN i l'enllaç bidireccional del telèfon Android controlen la reproducció de música. Els enginyers mitjançant el mòdul Bluetooth per aconseguir la interacció de dades de la pantalla intel·ligent DWIN i el telèfon Android, els usuaris poden controlar fàcilment el telèfon Android, la unitat flash USB en la reproducció de la cançó, fer una pausa, canviar la configuració de la cançó i el so, experimentar la pantalla intel·ligent i el telèfon Android dos. control de manera convenient.

1.C51 Disseny
(1) El port sèrie T5L interactua amb el mòdul Bluetooth per modificar l'estat de reproducció, configurar el volum i llegir l'estat de Bluetooth, part del codi de referència és el següent:
int main(void)
{
INIT_CPU();
T2_Calor();
UART4_Init();
EA=1;
//UART4_SendStr ("hola", mida de ("hola"));
//WDT_ON();//Activeu el Watchdog.
mentre (1)
{
//WDT_RST();//Peseja el gos
Procés();
}
}
void UART4_Init(void)
{
// Configuració de la velocitat de transmissió UART4:
//BODE2_DIV_H=Freqüència de xarxa de CPU/(8*Velocitat en baudis) .
//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 Velocitat en baudios
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
void TenMsHandle(void)
{
if(!TenmsFlag)
tornar;
TenmsFlag=0;
SourcePress();//Generador de tons
PlayCtrPress();//Canvi d'estat de reproducció
VolCtrSlider();//Canvi de volum
VolLogSlider();//Canvi de volum
ReadBtState();//Llegir l'estat de Bluetooth
}
void SourcePress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
if(tecla tàctil[1]==0)
tornar;
Sdata[1]=0;
interruptor (tecla tàctil[1])
{
case1: // disc U
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
trencar;
case2:// Entrada de línia externa
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
trencar;
cas 3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
trencar;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
void PlayCtrPress(void)
{
charTouchKey[2]={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
if(tecla tàctil[1]==0)
tornar;
Sdata[1]=0;
interruptor (tecla tàctil[1])
{
case1:// Cançó anterior
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
trencar;
case2:// Pausa de reproducció
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
trencar;
case3:// Següent cançó
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
trencar;
}
memset(TouchKey,0,sizeof(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) El paquet de programari d'Android s'escriu mitjançant QT, realitzant principalment la connexió Bluetooth i el control de la comunicació amb la pantalla intel·ligent, part del codi de referència és el següent:
ui->setupUi(això);
bluetooth_ble_Tool=nou Bluetooth_ble_Tool ("dwin_bt(BLE)");
ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName());
connect(eina_bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
això,&BLE_PairPage::BlueSearchConnectState);
//btchat=nou BtChat();
//btchat->set_ble_Tool(bluetooth_ble_Tool);
//btchat->init_Page();
//btchat->amagar();
devicecommHandle=nou DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle->InitDevice();
mwin=new mainwin();
menys->amagar();
connectar(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// S'ha emès un canvi de mode d'escriptura
connect(mwin,&mainwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// lit. Escriu la part superior i inferior d'una cançó
connect(mwin,&mainwin:layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Escriu el canvi de volum
connect(devicecommHandle,&DeviceComm::ReadPlayMode,
això,[=](mode int){// Configurant el mode actual
qDebug() qDebug() B_Upan->setChecked(fals);
mwin->B_AUX->setChecked(fals);
mwin->B_BT->setChecked(fals);
if(mode==1)
mwin->B_Upan->setChecked(true);
sinó si (mode==2)
mwin->B_AUX->setChecked(true);
sinó si (mode==3)
mwin->B_BT->setChecked(true);
});
connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol,
això,[=](int vol){// Configuració de la visualització del volum
mwin->QS_MainVol->setValue(vol);
});
connect(eina_bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
això,[=](){
això->mostrar();
menys->amagar();
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(fals);
ui->pushButton->setText(“Cercant”);
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished,
això,[=](bool ok){
ui->pushButton->setEnabled(true);
ui->pushButton->setText(“Comença a detectar Bluetooth connectat”);
if(ok==fals) {
QMessageBox::information(this,tr(“Estat de la cerca”),” No es pot cercar el dispositiu, si us plau, comproveu si el dispositiu ja està encès o si hi ha un altre telèfon mòbil connectat?”);} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst, int progress){
ui->progressBar->setValue(progrés);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(this,tr(“indicador de connexió”),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(“indicador de connexió”),”buggy”);
ui->label_tips->setText(“buggy”);}
else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr("connectat amb èxit"),bluetooth_ble_Tool->getErrorinfo());
ui->label_tips->setText(“connectat amb èxit”);
això->amagar();
mwin->mostrar();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->mostrar();
//desconnectar(eina_bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//this,&BLE_PairPage::BlueSearchConnectState); }
altrament{
ui->label_tips->setText(“Cercant connexions”); }


Hora de publicació: 23-maig-2024