【Ffynhonnell Agored】 Sgrin DWIN a Ffon Android Dwy-ffordd Rheoli Chwarae Cerddoriaeth

–Gan Fforwm Datblygwyr DWIN

Y mater hwn i chi wthio achos ffynhonnell agored arobryn fforwm datblygwyr DWIN - sgrin DWIN a chwarae cerddoriaeth rheoli cyswllt dwy ffordd ffôn Android. Peirianwyr trwy'r modiwl Bluetooth i gyflawni'r sgrin ddeallus DWIN a rhyngweithio data ffôn Android, gall defnyddwyr reoli'r ffôn Android yn hawdd, gyriant fflach USB yn y chwarae cân, oedi, newid y gân a gosodiadau sain, profi sgrin ddeallus a ffôn Android dau- rheolaeth ffordd gyfleus.

1.C51 Dylunio
(1) Mae porthladd cyfresol T5L yn rhyngweithio â'r modiwl Bluetooth i addasu'r statws chwarae, gosod y cyfaint, a darllen y statws Bluetooth, mae rhan o'r cod cyfeirio fel a ganlyn:
int prif (gwag)
{
INIT_CPU();
T2_Gwres();
UART4_Init();
EA=1;
//UART4_SendStr("helo", maint ("helo"));
//WDT_ON();//Trowch y Corff Gwarchod ymlaen.
tra (1)
{
//WDT_RST();// Traed y ci
Proses();
}
}
gwagle UART4_Init(gwag)
{
// UART4 Gosod cyfradd Baud:
// BODE2_DIV_H = Amlder prif gyflenwad CPU / (8 * cyfradd 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 Cyfradd Baud
//BODE2_DIV_H=0×00;
//FCLK/(8* DIV)
//BODE2_DIV_L=0×70;
//ES3T=1;
ES2R=1;
EA=1;
}
gwagle TenMsHandle(gwag)
{
os(! TenmsFlag)
dychwelyd;
TenmsFlag=0;
SourcePress();// Generadur tôn
PlayCtrPress();// Newid cyflwr chwarae
VolCtrSlider();// Newid cyfaint
VolLogSlider();// Newid cyfaint
ReadBtState();// Darllen statws Bluetooth
}
SourcePress(gwag) gwag
{
charTouchKey[2] ={0,0};
u8Sdata[2];
read_dgusii_vp(0×3000,TouchKey,1);
os(TouchKey[1]==0)
dychwelyd;
Sdata[1]=0;
switsh (TouchKey[1])
{
disg achos1://U
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
torri;
case2: Mewnbwn LineIn Allanol
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
torri;
achos3://Bluetooth
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
torri;
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey, 0,maint(TouchKey));
write_dgusii_vp(0×3000,TouchKey,1);
ReadBtStatecount=0;
}
Gwactod PlayCtrPress(gwactod)
{
charTouchKey[2] ={0,0};
u8Sdata[2];
read_dgusii_vp(0×3001,TouchKey,1);
os(TouchKey[1]==0)
dychwelyd;
Sdata[1]=0;
switsh (TouchKey[1])
{
achos1:// Cân flaenorol
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
torri;
achos2:// Saib Chwarae
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
torri;
achos3:// Cân nesaf
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1);
torri;
}
memset(TouchKey, 0,maint(TouchKey));
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2) Mae'r pecyn meddalwedd Android wedi'i ysgrifennu trwy QT, gan wireddu cysylltiad Bluetooth a rheolaeth cyfathrebu â'r sgrin smart yn bennaf, mae rhan o'r cod cyfeirio fel a ganlyn:
ui-> setupUi(hwn);
bluetooth_ble_Tool=Tool_Bluetooth_ble_newydd("dwin_bt(BLE)));
ui->label_localBT_Name-> setText(bluetooth_ble_Tool->getLocalName());
cysylltu(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
hwn,&BLE_PairPage ::BlueSearchConnectState);
//btchat=BtChat newydd();
//btchat-> set_ble_Tool(bluetooth_ble_Tool);
//btchat-> init_Page();
//btchat->cuddio();
devicecommHandle=DeviceComm newydd();
devicecommHandle-> set_ble_Tool(bluetooth_ble_Tool);
devicecommHandle-> InitDevice();
mwin = prifwin newydd();
llai-> cudd();
cysylltu(mwin,&mainwin:layChangeMode,
devicecommHandle,&DeviceComm:layChangeMode);// Cyhoeddwyd newid modd ysgrifennu
cysylltu(mwin,&prifwin:layCtrPreNextSt,
devicecommHandle,&DeviceComm:layCtrPreNextSt);// goleuo. ysgrifennu rhannau uchaf ac isaf cân
cysylltu(mwin,&mainwin: layMusicVolChange,
devicecommHandle,&DeviceComm:layMusicVolChange);// Ysgrifennwch y newid cyfaint i lawr
cysylltu (devicecommHandle, & DeviceComm :: ReadPlayMode,
hwn,[=](modd int){// Gosod y modd presennol
qDebug() qDebug() B_Upan-> setChecked(ffug);
mwin-> B_AUX-> setChecked(ffug);
mwin-> B_BT-> setChecked(ffug);
os(modd==1)
mwin-> B_Upan-> setChecked(gwir);
arall os(modd==2)
mwin-> B_AUX-> setChecked(gwir);
arall os(modd==3)
mwin-> B_BT-> setChecked(gwir);
});
cysylltu (devicecommHandle, &DeviceComm :: ReadPlayMusicVol,
hwn,[=](cyfrol){// Gosod y Dangosydd Cyfrol
mwin-> QS_MainVol->setValue(cyfrol);
});
cysylltu(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error,
hwn,[=](){
hwn-> sioe();
llai-> cudd();
devicecommHandle->TimerStopReadDeviceST();
hwn->ui->cynnyddBar->setValue(0);
});
gwag BLE_PairPage ::on_pushButton_clicio(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid));
//ui->label_localBT-> clir();
//ui->label_localBT_Name-> setText(bluetooth_ble_Tool->getLocalName());
bluetooth_ble_Tool-> startFindConnectBle();
//bluetooth_ble_Tool->startStateProgressBar();
ui-> pushButton->setEnabled(ffug);
ui-> pushButton-> setText("Chwilio");
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool:: BlueBLE_FindDeviceGorffen,
hwn,[=](bool iawn){
ui-> pushButton-> setEnabled(gwir);
ui-> pushButton-> setText ("Dechrau canfod Bluetooth cysylltiedig ");
os(iawn == ffug) {
QMessageBox::gwybodaeth(hwn,tr("Search Status")," Ni ellir chwilio'r ddyfais, gwiriwch a yw'r ddyfais eisoes wedi'i throi ymlaen, neu a yw ffôn symudol arall eisoes wedi'i gysylltu ag ef?");} }); }
gwag BLE_PairPage ::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Dolen, ar y gweill){
ui->Bar Cynnydd->setValue(cynnydd);
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::gwybodaeth(hyn,tr("anogwr cysylltu"), bluetooth_ble_Tool-> getErrorinfo());
ui-> label_tips-> setText(bluetooth_ble_Tool-> getErrorinfo());}
arall os(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox ::gwybodaeth(hyn,tr("anogwr cyswllt")," bygi ");
ui-> label_tips-> setText("buggy");}
arall os(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox ::gwybodaeth(
hwn, tr ("cysylltiedig yn llwyddiannus"), bluetooth_ble_Tool-> getErrorinfo());
ui-> label_tips-> setText ("cyswllt yn llwyddiannus");
hwn-> cudd();
mwin->show();
devicecommHandle->TimerStartReadDeviceST(100);
//btchat->show();
//datgysylltu(bluetooth_ble_Tool,&Bluetooth_ble_Tool:: BlueSearchConnectState,
// hwn,&BLE_PairPage::BlueSearchConnectState); }
arall{
ui-> label_tips-> setText("Chwilio am gysylltiadau"); }


Amser postio: Mai-23-2024