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

正文內(nèi)容

畢業(yè)設計-基于pic單片機的wifi控制系統(tǒng)設計-資料下載頁

2025-01-18 17:29本頁面
  

【正文】 選,設計了一種數(shù)據(jù)結(jié)構包括命令名和處理此命令的函數(shù)指針,如下:typedef BOOL(*USER_CMD_HANDLER)( void *parameter )。/* 命令的函數(shù)類型定義 */ /* 函數(shù)參數(shù)是命令的參數(shù) */typedef struct _cmd_parse{ signed char cmd_name[10]。 /* 命令名 */ USER_CMD_HANDLER cmd_handler。 /* 執(zhí)行命令的函數(shù)指針 */}CMDPARSE。CMDPARSE cmdstruct[] = { /* 以下是系統(tǒng)預設的指令Handle函數(shù) */ { scannow, ScanNowHandler }, { playmusic, PlayMusicHandler }, {listenport, ListenPortHandler }}。 Shell軟件流程圖線程一般會阻塞在GetCmdString函數(shù)中,此函數(shù)會等待獲取一條新的指令。當線程獲得一條指令后,執(zhí)行CmdResolve函數(shù),該函數(shù)會比對輸入的命令和cmdstruct命令數(shù)組中的預設命令進行比對,并獲得輸入命令的index(未識別的命令會返回0xff)。CmdParse函數(shù)會根據(jù)命令index在cmdstruct數(shù)組中調(diào)用handle函數(shù)指針。 Playmusic指令handle函數(shù)設計Playmusic實現(xiàn)了音樂播放的全部功能,功能如下:1. 指定歌曲名的播放 2. 播放時的暫停 3. 停止播放 4. 音量調(diào)節(jié) 5. 播放曲目的切換 6. 簡單的文本界面播放函數(shù)實現(xiàn)了一個簡單的狀態(tài)機:typedef enum _play_state{ STATE_OPEN, /* 文件打開狀態(tài),向PC端發(fā)送要打開的文件名 */ STATE_PLAYING,/* 文件播放狀態(tài),接收音頻流并播放,同時檢測有無用戶交互 */ STATE_HALT, /* 暫停播放狀態(tài),暫停音頻流接收,檢測用戶是否重新啟動播放 */ STATE_STOP /* 播放停止狀態(tài),播放停止后立即結(jié)束playmusic函數(shù) */}PLAY_STATE。單片機和PC機TCP連接成功后,單片機端和PC端隨即采用規(guī)定的通信格式進行通信,通信格式如下:typedef struct __attribute__ ((packed)) net_frame{ WORD type。 WORD length。}NET_FRAME,*pNET_FRAME。以上是通信數(shù)據(jù)的幀頭,也就是說每一幀的前4個字節(jié)的數(shù)據(jù)反映了該幀的基本情況,type有兩種取值,一種是cmd,一種是data,cmd反映此幀為一命令幀,data反映此幀為一數(shù)據(jù)幀,len反映幀中實際的數(shù)據(jù)長度,取值最小值為0。 handle狀態(tài)圖 PC機端網(wǎng)絡程序PC機主動連接單片機端,被動的接收來自單片機端的命令并執(zhí)行。 PC機命令解析PC機連接上單片機后,等待一個網(wǎng)絡幀的到達,當收到網(wǎng)絡幀后,解析幀命令,這里只實現(xiàn)了一個幀命令,也就是playmusic幀命令,playmusic函數(shù)同樣維護一個播放狀態(tài)機。 PC端播放狀態(tài) 測試結(jié)果。 PC端測試單片機超級終端運行測試圖, 單片機端測試 結(jié) 論課題目標是實現(xiàn)利用PIC單片機驅(qū)動無線網(wǎng)卡進行WIFI聯(lián)網(wǎng)控制,通過硬件系統(tǒng)的設計和軟件程序的編寫,基本達到了預期的目標,連接無加密無線AP,TCP/IP正常通信等功能。同時給出了一個利用控制方案的實例,實例測試表明,控制方案的性能較好,工作穩(wěn)定,能夠輕松的實時傳輸高質(zhì)量的音頻數(shù)據(jù),視頻數(shù)據(jù)經(jīng)過壓縮后也能夠進行實時傳輸。此外,方案采用了分層的軟件設計方式,同時利用了實時操作系統(tǒng),所以控制方案的軟件編程較容易,可以靈活而方便的擴展系統(tǒng)功能。,尤其是加密部分和身份認證部分都沒有實現(xiàn),而這兩個功能又是健全網(wǎng)絡必備的組成部分,所以加密和認證部分的移植工作還需繼續(xù),此外系統(tǒng)的健壯性有待于進一步的測試,軟件代碼還需要進一步優(yōu)化。 致 謝此次畢業(yè)設計的順利完成得益于諸多老師和同學的幫助,在畢業(yè)論文完成之際,謹向幫助我的老師和同學致以誠摯的謝意!在選題之初我的指導老師安勝彪老師就給予了很多建設性的意見,畢業(yè)設計當中遇到了不少想象不到的難題,這些問題的解決和安勝彪老師的悉心指導是分不開的。除了畢業(yè)設計,安老師也是我進入電子世界的領路人,在安老師那里我學到了很多,在這里對安老師表示衷心的感謝!在做畢業(yè)設計期間,我同樣得到了同學們的幫助,我要特別感謝李桂生,陳磊,李友凱,鄭敬魁等同學,在畢業(yè)之際我也會銘記我們在一起努力的日子。最后,我要感謝我的家人,是我的父母在背后默默支持著我,我才能有今天的一切。 參考文獻1 Jonathan Corbet,Alessandro Rubini,Gerg,KroahHartman.:東南大學出版社,20062 李紅梅.WIFI技術在智能家居中的應用研究.Silicon Valley,20093 Mattbew Gast. .南京:東南大學出版社,20074 Stevens.TCP/IP IIIustrated Volume 1:The Protocols.北京:機械工業(yè)出版社,20055 Javvin Press.WIFI WLAN Quick Guide.Javvin Press,2008.6 史蒂文斯. Security.北京:機械工業(yè)出版社,2007.7 Bruce Potter. Security.O39。Reilly Media,2008.8 孫鑫.VC++深入詳解.北京:電子工業(yè)出版社,2005.9 Lucio Di Jasio.32位單片機C語言編程基于PIC32.北京:人民郵電出版社,2009.10 單立平.嵌入式Linux網(wǎng)絡體系結(jié)構設計與TCP/IP協(xié)議棧.北京:電子工業(yè)出版社,2011.11 李英偉等..北京:國防工業(yè)出版社,2007.12 張俊. 匠人手記. 北京:北京航空航天大學出版社,2008.13 Jean . 嵌入式實時操作系統(tǒng)μC/OS2,北京:北京航空航天大學出版社,2003.14 Richard Barry. Using The FreeRTOS Real Time Kernel,USA,2007.15 李肇慶. USB接口技術. 北京:國防工業(yè)出版社,2004.16 薛園園編著. USB應用開發(fā)技術大全. 人民郵電出版社, 2007. 17 蕭世文,宋延清編著. USB . 清華大學出版社, 2006. 18 金純等編著. IEEE . 電子工業(yè)出版社, 2004.19 (美)波特,(美)弗利克著. . 清華大學出版社, . 20 武奇生主編. 網(wǎng)絡與TCP/IP協(xié)議. 西安電子科技大學出版社, . 21 任泰明編著. TCP/IP網(wǎng)絡編程. 人民郵電出版社, .22 劉向宇編著. PIC單片機C語言程序設計實例精粹. 電子工業(yè)出版社, . 23 王文林主編. MP3電路原理與維修. 國防工業(yè)出版社, .24 鄭靈翔編著. 嵌入式接口技術與Linux驅(qū)動開發(fā). 北京航空航天大學出版社, . 25 孫天澤,袁文菊編著. 嵌入式設計及Linux驅(qū)動開發(fā)指南 基于ARM 9處理器. 電子工業(yè)出版社, 2007. 附錄A VS1003音頻模塊電路圖: 附錄B 部分源程序:FreeRTOS主程序:include include include include include include include include include include include include include include USB/include include include include include include include arch/static BOOL InitializeSystem ( void )。static portTASK_FUNCTION( vLED1task, pvParameters )。/********************************************************************/pragma config UPLLEN = ON // USB PLL Enabledpragma config FPLLMUL = MUL_20 // PLL Multiplierpragma config UPLLIDIV = DIV_2 // USB PLL Input Dividerpragma config FPLLIDIV = DIV_2 // PLL Input Dividerpragma config FPLLODIV = DIV_1 // PLL Output Dividerpragma config FPBDIV = DIV_2 // Peripheral Clock divisorpragma config FWDTEN = OFF // Watchdog Timerpragma config WDTPS = PS1 // Watchdog Timer Postscalepragma config FCKSM = CSDCMD // Clock Switching amp。 Fail Safe Clock Monitorpragma config OSCIOFNC = OFF // CLKO Enablepragma config POSCMOD = XT // Primary Oscillatorpragma config IESO = ON // Internal/External Switchoverpragma config FSOSCEN = OFF // Secondary Oscillator Enable (KLO was off)pragma config FNOSC = PRIPLL // Oscillator Selectionpragma config CP = OFF // Code Protectpragma config BWP = OFF // Boot Flash Write Protectpragma config PWP = OFF // Program Flash Write Protectpragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel SelectRT73_DEVICE RT73Device。 char dbg_buffer[100]。extern void vAltStartUSBRxTasks( unsigned portBASE_TYPE uxPriority )。static BOOL InitializeSystem ( void ){ /* Set the system and peripheral bus speeds and enable the program cache*/ = 0。 // 禁止JTAG口 SYSTEMConfigPerformance( configCPU_CLOCK_HZ 1 )。 mOSCSetPBDIV( OSC_PB_DIV_2 )。 /* Setup to use the external interrupt controller. */ INTEnableSystemMultiVectoredInt()。 /* LED初始化 */ mInitAllLEDs()。 UART2Init()。 /* 初始化SPI */ Vs1003_Init()。 /* USB控制引腳初始化 */ LATDCLR = 0X0100。 ODCD = 0X0100。 TRISDCLR = 0X0100。 return TRUE。} // InitializeSystemint main( void ){ InitializeSystem()。 /* 創(chuàng)建USBHOST任務 */ /* 這些任務在系統(tǒng)初始化時進行創(chuàng)建,為的是防止重復創(chuàng)建任務 */ /* 基本上每個task中都利用了狀態(tài)機*/ vAltStartUSBTasks( USBHOST_THREAD_PRIO )。 vAltStartLwipTasks( TCPIP_THREAD_PRIO )。 /* 創(chuàng)建用戶命令解析任務 */ vAltStartCom
點擊復制文檔內(nèi)容
電大資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1