freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

車載娛樂系統(tǒng)的設計與實現(xiàn)畢業(yè)論文-資料下載頁

2025-06-27 16:28本頁面
  

【正文】 這一狀態(tài)將改變。:圖 鏈路初始化此時系統(tǒng)工作狀態(tài)正常,因為在“通訊數(shù)據(jù)監(jiān)控中心”顯示收到持續(xù)的鏈路測試幀。:圖 鏈路正常 在5S內(nèi)沒有收到鏈路測試幀,鏈路狀態(tài)轉為“鏈路故障”。:圖 鏈路故障在10S內(nèi)沒有收到鏈路測試幀,鏈路狀態(tài)轉為 “斷開”。此時,所有相關按鈕均不再可用。:圖 鏈路斷開 CD/DVD播放機測試在按下播放/暫停鍵后,可以查看播放狀態(tài)中顯示為“暫?!?。此時,下位機為暫停狀態(tài)。:圖 CD/DVD播放機暫停圖 下位機PAUSE再次按下播放/暫停鍵后,可以查看播放狀態(tài)中顯示為“播放”。此時下位機重新播放。:圖 CD、DVD播放機播放 下位機PLAY “快退”、“快進”、“下一曲”、“上一曲”、“記憶停止”、“停止”、“靜音”、“解除靜音”、“EJECT”按鍵時下位機狀態(tài)。圖 快退圖 快進圖 下一曲圖 上一曲 圖 記憶停止圖 停止圖 靜音圖 解除靜音圖 EJECT 出倉 AM/FM測試。圖 AM/FM控制界面“上一臺”測試,下位機與控制端顯示狀態(tài)符合。圖 FM/AM電臺1 711KHz圖 位機電臺1 711KHz“下一臺”測試,下位機與控制端顯示狀態(tài)符合。圖 M/AM 電臺2 810KHz圖 下位機電臺2 810KHz“上一頻率”測試,下位機與控制端顯示狀態(tài)符合。圖 FM/AM電臺3 837KHz 位機電臺3 837KHz“下一頻率”測試,下位機與控制端顯示狀態(tài)符合。 AM/FM 電臺3 801KHz 位機電臺3 801KHz Mobile_TV 測試移動電視的功能測試包括頻道選擇和聲音大小調節(jié),按下頻道選擇,進行頻道選擇。按下聲音調節(jié)按鈕,每次可調節(jié)一個單位的聲音。 頻道選擇測試 圖 聲音微調測試 結 論本次畢業(yè)設計中控制程序,是本人獨立完成的第一基于MFC的較為復雜的程序。由于是在Eesee平臺開發(fā)PC端的控制程序,而Eesee平臺硬件已經(jīng)定型,所以其信息幀(協(xié)議)是規(guī)定好的。所以,在一開始的時候,為了盡快熟悉規(guī)定的這套信息協(xié)議本人不得不通過一些串口調試工具()手工來進行調試。這一過程是極其枯燥和復雜的,因為所有信息幀必須以十六進制發(fā)送并且要手工添加校驗。但是,完成這一過程后我才發(fā)現(xiàn),這些瑣碎的工作是必不可少的。它為迅速熟悉協(xié)議,在完成代碼之前系統(tǒng)的定義描述各種信息幀(協(xié)議族)的數(shù)據(jù)結構頭文件打下了很深的基礎。所以,在這里再一次印證了軟件工程中的一個重要思想,代碼實現(xiàn)只是軟件工程中的一部分工作,嚴謹而正確的需求分析是工程開發(fā)的基礎。當然在開發(fā)中也遇到很多棘手的問題,甚至有一些到最后也沒有很完美的解決。其中一個問題是這樣:在控制端發(fā)送 “搜索”命令時,控制端“狀態(tài)顯示控件”以及“通訊數(shù)據(jù)監(jiān)控中心”的數(shù)據(jù)更新會逐漸減慢,最后停止。起初,針對出現(xiàn)的這一問題也毫無解決辦法。檢查了多遍代碼,發(fā)現(xiàn)不會是代碼出錯的問題。后來,靜下心來轉而開始懷疑是用的工具的問題。如果是工具的問題那么有兩種情況,一是通過Win32窗口程序的UpdateData()來更新窗口控件數(shù)據(jù)頻率太高時會造窗口顯示線程死掉;二是MSComm控件在短時間內(nèi)響應大量接收事件并且要接收大量數(shù)據(jù)時會造成接收線程死掉。針對這兩種情況,本人分別做了實驗。最后,證實是第二種情況的可能性比較大。雖然還不能完全肯定,因為沒有找到詳細的權威的對于MSComm控件功能,性能的說明文檔。但是,網(wǎng)上流傳的幾乎所有針對串口的Vc程序都不是以MSComm為基礎的,而是通過WIN32相應API來直接進行串口的控制。由此可以肯定,MSComm的封裝一方面方便了大多數(shù)使用者,但是同時它也不可避免的導致了程序的低效率。由于畢設到最后才發(fā)現(xiàn)這個問題,已經(jīng)不能隨便更改控制串口的方法了,否則將不得不重新設計整個程序。這里又印證了軟件工程中的一個思想:軟件的前期規(guī)劃是整個軟件工程的生命線,隱藏的錯誤越是往后托,更正這一錯誤的損失無疑更大,甚至對于整個工程將會是致命的。參考文獻[1] 李長林,高潔,Visual C++ 串口通信技術與典型實例,清華大學出版社,2006年[2] 龔建偉,熊光明,Visual C++/Turbo C 串口通信編程實踐,電子工業(yè)出版社,2002年[3] 譚思亮,鄒超群等,Visual C++串口通信工程開發(fā)實例導航,人民郵電出版社,2003年[4] 賽奎春,Visual C++ 工程應用與項目實踐,機械工業(yè)出版社,2005年[5] 梁普選,Visual C++ 程序設計與實踐,清華大學出版社,2005年[6] Steven Holzner,Visual C++輕松進階,電子工業(yè)出版社,1999年[7] 邱仲潘,柯渝,謝燕華,Visual C++6從入門到精通,電子工業(yè)出版社,2005年[8] 孫涵芳,徐愛卿等,單片機原理及應用,北京航空航天大學出版社,2002年[9] 李現(xiàn)勇,Visual C++,2002[10] 石峰,程序設計基礎,清華大學出版社,2003[11] 張曉紅,VC++中串行通信程序設計,山西電子技術,2008[12] 王中訓,徐超,王德法,基于VC++ ,計算機應用,2008附錄/////////接收,校驗數(shù)據(jù)幀/////////bool CFifthDlg::FL_Rdispatch(){ short i,len,size,hsize。 BYTE bytebuf。 WORD wordbuf。 BYTE check。 SAFEARRAY* psa。 unsigned char ch1,ch2。 ch1=ch2=0。 if(!half) { ()。 len=()。 if(len3) { vframe=()。 size=FL_getlen()。 CMemFile mf。 ((BYTE*)pvData,size)。 ((void*)amp。bytebuf,sizeof(BYTE))。 if(bytebuf!=0x55) { return false。} ((void*)amp。wordbuf,sizeof(WORD))。 if(wordbufsize1) { half=true。 return false。} else { if(wordbuf==size1) { CMemFile mdis1。 ((BYTE*)pvData,wordbuf+1)。 for(i=0。i=wordbuf。i++) { ((void*)amp。bytebuf,sizeof(BYTE))。 ()。 (%x,bytebuf)。 m_edit_show+=showstr+ 。} m_edit_show+=\r\n。 if(checksum(vframe)) { dealgot(vframe)。 half=false。} else { half=false。 return false。} } else {return false。} }}} else { _variant_t vt。 vt=()。 hsize=FL_getlen()。 size=FL_getlen()。 psa=SafeArrayCreateVector(VT_UI1,0,hsize+size)。 CMemFile mt。 ((BYTE*)psapvData,hsize+size)。 (()pvData,size)。 (()pvData,hsize)。 ()。 =VT_ARRAY|VT_UI1。 =psa。 size=FL_getlen()。 CMemFile mf。 ((BYTE*)pvData,size)。 ((void*)amp。bytebuf,sizeof(char))。 ((void*)amp。wordbuf,sizeof(WORD))。 if(wordbufsize1) { half=true。 return false。} else { if(wordbuf==size1) { CMemFile mdis1。 ((BYTE*)pvData,wordbuf+1)。 for(i=0。i=wordbuf。i++) { ((void*)amp。bytebuf,sizeof(BYTE))。 ()。 (%x,bytebuf)。 m_edit_show+=showstr+ 。} m_edit_show+=\r\n。 if(checksum(vframe)) { dealgot(vframe)。 half=false。 return true。} else { half=false。 return false。}} else return false。}}}///////////控制按鈕舉例Onbutton1()///////////////////void CFifthDlg::Onbut1() { switch(src) { case 1: kuaijin=0。 kuaitui=0。 ()。 if(play==1) { play=0。 m_edit_channelshow+=暫停。 btime=CTime::GetCurrentTime()。 } else { play=1。 stop=0。 change=true。 m_edit_channelshow+=播放。} =0x0400。 =0x05。 =checksum((char*)amp。disconf,sizeof(disconf))。 mssend((const char*)amp。disconf,sizeof(disconf))。 break。 case 2: =0x02。 =0x1C。 =checksum((char*)amp。fmturnf,sizeof(fmturnf))。 mssend((const char*)amp。fmturnf,sizeof(fmturnf))。 ()。 m_edit_channel=FM:。 ()。 break。 case 3: =0x03。 =0x1C。 =checksum((char*)amp。fmturnf,sizeof(fmturnf))。 mssend((const char*)amp。fmturnf,sizeof(fmturnf))。 break。 case 4: =_BW_PLAYSOURCE_VIDEO_DTV_。 =_BW_ENTERTAINMENTACTION_PREV_。 =checksum((char*)amp。fmturnf,sizeof(fmturnf))。 mssend((const char*)amp。fmturnf,sizeof(fmturnf))。 break。 }}52
點擊復制文檔內(nèi)容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1