版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 前言</b></p><p> 無線方案適用于布線繁雜或者不允許布線的場合,目前在遙控遙測、門禁系統(tǒng)、無線抄表、小區(qū)傳呼、工業(yè)數(shù)據(jù)采集、無線遙控系統(tǒng)、無線鼠標鍵盤等應用領域,都采用了無線方式進行遠距離數(shù)據(jù)傳輸。目前,藍牙技術和Zigbee技術已經(jīng)較為成熟的應用在無線數(shù)據(jù)傳輸領域,形成了相應的標準。然而,這些芯片相對昂貴,同時在應用中,需要做很多設計和測試工作來
2、確保與標準的兼容性,如果目標應用是點到點的專用鏈路,如無線鼠標到鍵盤,這個代價就顯得毫無必要。</p><p> 本無線數(shù)據(jù)傳輸系統(tǒng)采用挪威Nordic公司推出的工作于2.4GHzISM頻段的nRF24L01射頻芯片。與藍牙和Zigbee相比,nRF24L01射頻芯片沒有復雜的通信協(xié)議,它完全對用戶透明,同種產(chǎn)品之間可以自由通信。更重要的是,nRF24L01射頻芯片比藍牙和Zigbee所用芯片更便宜。系統(tǒng)由單片
3、機STM32F103控制無線數(shù)字傳輸芯片nRF24L01,通過無線方式進行數(shù)據(jù)雙向遠程傳輸,兩端采用全雙工方式通信,該系統(tǒng)具有成本低,功耗低,軟件設計簡單以及通信可靠等優(yōu)點。</p><p><b> 1. 總體設計方案</b></p><p> 無線通信技術迅速發(fā)展,有多種通訊方案可供選擇,這里從實用,經(jīng)濟和實現(xiàn)等方面進行綜合的考慮分析,選出合適的設計方案。&l
4、t;/p><p> 1.1 無線通信方式的比較和選擇</p><p> 方案一:采用GSM模塊進行通信,GSM模塊需要借助移動衛(wèi)星或者手機卡,雖說能夠遠距離傳輸,但是其成本較大、且需要內(nèi)置SIM卡,通信過程中需要收費,后期成本較高。</p><p> 方案二:采用TI公司CC2430無線通信模塊,此模塊采用Zigbee總線模式,傳輸速率可達250kbps,且內(nèi)部集
5、成高性能8051內(nèi)核。但是此模塊價格較貴,且Zigbee協(xié)議相對較為復雜。</p><p> 方案三:采用nRF24L01無線射頻模塊進行通信,nRF24L01是一款高速低功耗的無線通信模塊。他能傳輸上千米的距離(加PA),而且價格較便宜,采用SPI總線通信模式電路簡單,操作方便。</p><p> 考慮到系統(tǒng)的復雜性和程序的復雜度,我們采用方案三作為本系統(tǒng)的通信模塊。</p&g
6、t;<p> 1.2 微控制器的比較和選擇</p><p> 方案一:采用傳統(tǒng)的AT89S52單片機作為主控芯片。此芯片價格便宜、操作簡便,低功耗,比較經(jīng)濟實惠,但是應用很局限,且要求較高時傳統(tǒng)的AT89S52單片機達不到要求。</p><p> 方案二:采用TI公司生產(chǎn)的MSP430F149系列單片機作為主控芯片。此單片機是一款高性能的低功耗的16位單片機,具有非常強
7、大的功能,且內(nèi)置高速12位ADC。但其價格比較昂貴,而且是TPFQ貼片封裝,不利于焊接,需要PCB制板,大大增加了成本和開發(fā)周期。</p><p> 方案三:基于ARM公司Cortex-M3內(nèi)核的STM32F103系列處理器,采用串行單線調(diào)試和JTAG,通過JTAG調(diào)試器你可以直接從CPU獲取調(diào)試信息,從而使產(chǎn)品設計大大簡化,主要應用于要求高性能、低成本、低功耗的產(chǎn)品。</p><p>
8、 根據(jù)系統(tǒng)需要,從性能和價格上綜合考慮我們選擇方案三,即用STM32F103作為本系統(tǒng)的主控芯片。</p><p> 1.3 串行通信方式比較和選擇</p><p> RS-485串行通信:該接口是采用平衡驅(qū)動器和差分接收器的組合,抗噪聲干擾性好。具有多機通信能力,這樣用戶可以利用單一的RS-485接口方便地建立起設備網(wǎng)絡。接口組成的半雙工網(wǎng)絡,一般只需二根信號線,所以它的接口均采用
9、屏蔽雙絞線傳輸,數(shù)據(jù)信號采用差分傳輸方式。但是由于電腦上沒有485接口,所以設計的時候還需要一個485轉232轉換器,較為麻煩。</p><p> RS-232串行通信:它是無處不在的,每一臺PC機都有一個或者更多的接口。在微控制器中,接口芯片使得將一個5V串口轉換成RS-232變的更容易。連接距離可以達到50到100ft,大多數(shù)的外設接口都不會用于太長的距離。對于一個雙向選擇,只需要3條導線。一個并行連接器一
10、般需要8條數(shù)據(jù)線,兩條或者更多的控制信號線和幾根接地線。它作為一種標準,與很多設備兼容,目前已經(jīng)在很多的微機通信接口中廣泛的被采用。所以這里采用該通信方式。</p><p> 1.4 顯示模塊方案</p><p> 方案一:選擇主控為ST7920的帶字庫的LCD12864來顯示信息。12864是一款通用的液晶顯示屏,能夠顯示多數(shù)常用的漢字及ASCII碼,而且能夠繪制圖片,描點畫線,設計
11、成比較理想的結果。</p><p> 方案二:采用2.8寸TFT-LCD顯示信息,這款LCD比較通用的字符液晶模塊,能顯示字符和數(shù)字等信息,且價格便宜,容易控制。</p><p> 方案三:采用LCD7段數(shù)碼顯示管顯示,其成本低,容易顯示控制,但不能顯示字符。</p><p> 綜合以上方案,方便我們對信息的觀看和理解,我們選擇了經(jīng)濟實惠的2.8寸TFT-LC
12、D顯示,可以直接顯示數(shù)據(jù)、字符等。</p><p><b> 2. 單元模塊設計</b></p><p> 2.1 nRF24L01射頻模塊電路設計</p><p> 2.1.1 nRF24L01芯片概述</p><p> nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻
13、段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型ShockBurst技術,其中輸出功率和通信頻道可通過程序進行配置。nRF24L01功耗低,在以-6 dBm的功率發(fā)射時,工作電流也只有9 mA;接收時,工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設計更方便。 </p><p> nRF24L01主要特性如下: </p><p>
14、 1)2.4GHz全球開放的ISM頻段,免許可證使用。</p><p> 2)最高工作速率2Mbps,高校的GFSK調(diào)制,抗干擾能力強。</p><p> 3)125個可選的頻道,滿足多點通信和調(diào)頻通信的需要。</p><p> 4)內(nèi)置CRC檢錯和點對多點的通信地址控制。</p><p> 5)低工作電壓(1.9~3.6V)。<
15、;/p><p> 6)可設置自動應答,確保數(shù)據(jù)可靠傳輸。</p><p> 2.1.2 引腳功能及描述</p><p> nRF24L01的封裝及引腳排列如圖所示。各引腳功能如下:</p><p> 圖 1 nRF24L01引腳示意圖</p><p> CE:使能發(fā)射或接收; </p><p&
16、gt; CSN,SCK,MOSI,MISO:SPI引腳端,微處理器可通過此引腳配置nRF24L01;</p><p> IRQ:中斷標志位;</p><p> VDD:電源輸入端; </p><p><b> VSS:電源地;</b></p><p> XC2,XC1:晶體振蕩器引腳; </p>
17、<p> VDD_PA:為功率放大器供電,輸出為1.8V; </p><p> ANT1,ANT2:天線接口;</p><p> IREF:參考電流輸入。</p><p> 2.1.3 工作模式</p><p> nRF24L01有工作模式有四種:收發(fā)模式、配置模式、空閑模式和關機模式。nRF24L01的工作模式由PWR_
18、UP、CE、TX_EN和CS三個引腳決定,如表。</p><p> 表格 1 nRF24L01工作模式</p><p> 收發(fā)模式:nRF24L01的收發(fā)模式有ShockBurstTM收發(fā)模式和直接收發(fā)模式兩種,收發(fā)模式由器件配置字決定。這里只介紹ShockBurstTM收發(fā)模式。</p><p> ShockBurstTM收發(fā)模式下,使用片內(nèi)的先入先出堆棧區(qū)
19、,數(shù)據(jù)低速從微控制器送入,但高速(1Mbps)發(fā)射,這樣可以盡量節(jié)能,因此,使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。與射頻協(xié)議相關的所有高速信號處理都在片內(nèi)進行,這種做法有三大好處:</p><p><b> 1)盡量節(jié)能;</b></p><p> 2)低的系統(tǒng)費用(低速微處理器也能進行高速射頻發(fā)射);</p><p> 3)
20、數(shù)據(jù)在空中停留時間短,抗干擾性高。nRF24L01的ShockBurstTM技術同時也減小了整個系統(tǒng)的平均工作電流。</p><p> 在ShockBurstTM收發(fā)模式下,nRF24L01自動處理字頭和CRC校驗碼。在接收數(shù)據(jù)時,自動把字頭和CRC校驗碼移去。在發(fā)送數(shù)據(jù)時,自動加上字頭和CRC校驗碼,當發(fā)送過程完成后,數(shù)據(jù)準備好引腳通知微處理器數(shù)據(jù)發(fā)射完畢。</p><p> 配置模
21、式:在配置模式,15字節(jié)的配置字被送到nRF24L01,這通過CS、CLK1和DATA三個引腳完成。</p><p> 空閑模式:nRF24L01的空閑模式是為了減小平均工作電流而設計,其最大的優(yōu)點是,實現(xiàn)節(jié)能的同時,縮短芯片的起動時間。在空閑模式下,部分片內(nèi)晶振仍在工作,此時的工作電流跟外部晶振的頻率有關,如外部晶振為4MHz時工作電流為12uA,外部晶振為16MHz時工作電流為32uA。在空閑模式下,配置字
22、的內(nèi)容保持在nRF24L01片內(nèi)。</p><p> 關機模式:在關機模式下,為了得到最小的工作電流,一般此時的工作電流小于1uA。關機模式下,配置字的內(nèi)容也會被保持在nRF24L01片內(nèi),這是該模式與斷電狀態(tài)最大的區(qū)別。</p><p> 2.2 STM32F103模塊電路</p><p> 2.2.1 電源電路</p><p>
23、由于STM32直接由PC的USB供電,提供5V電源,所以不需要總電源,但nRF24L01模塊需要低于3.5V電壓,所以需要3.3V穩(wěn)壓電路,如下:</p><p> 圖 2 3.3V穩(wěn)壓電路</p><p> 2.2.2 顯示模塊</p><p> 2.8寸TFT-LCD與STM32連接原理圖,如下:</p><p><b>
24、 圖 3LCD原理圖</b></p><p><b> 2.2.3按鍵模塊</b></p><p> 在課程設計中用到了按鍵控制發(fā)送數(shù)據(jù),按鍵原理圖,如下:</p><p> 圖 4 按鍵連接原理圖</p><p> 2.2.4nRF24L01模塊</p><p> nRF
25、24L01模塊有八個引腳需要連接到STM32,在這里由于用到了SPI1的四個引腳,直接與PA(4-6)引腳相連,設置GPIO復用功能就直接可用SPI1,無線模塊的其他引腳分別與PA1和PA7相連,這樣可以簡化電路,如下:</p><p> 圖 5 nRF24L01原理圖</p><p> 3. 系統(tǒng)功能與軟件設計</p><p> 3.1 系統(tǒng)總結構與流程&l
26、t;/p><p> 系統(tǒng)主要包括兩個分別具有收發(fā)功能的無線通信模塊,每個模塊均由STM32F103和無線收發(fā)芯片nRF24L01組成。系統(tǒng)的原理框圖如圖所示,發(fā)送時,單片機通過IO總線向nRF24L01寫人控制命令及所需發(fā)送的數(shù)據(jù),nRF24L01通過天線發(fā)送出去;接收時,單片機通過IO總線讀取nRF24L01的工作狀態(tài),獲取芯片相關信息及接收到的數(shù)據(jù)。兩個收發(fā)模塊之間相互通信,從而實現(xiàn)數(shù)據(jù)的無線傳輸。同時接收端將
27、接收到的數(shù)據(jù)存儲到擴展的片外數(shù)據(jù)存儲器中。</p><p><b> 系統(tǒng)結構框圖:</b></p><p><b> 圖 6整體結構框圖</b></p><p> 根據(jù)功能不同,可以把整個系統(tǒng)分為STM32、nRF24L01無線通信模塊、LCD顯示模塊、按鍵發(fā)送模塊。</p><p> S
28、TM32主要功能是控制nRF24L01無線通信和LCD顯示,按鍵中斷控制nRF24L01無線模塊發(fā)送數(shù)據(jù),LCD顯示模塊顯示數(shù)據(jù)。</p><p> 當按下按鍵時,STM32控制LCD顯示相應的數(shù)字,同時通過nRF24L01將該數(shù)字發(fā)送出去,另一個nRF24L01接收到該數(shù)字,經(jīng)由STM32F103顯示于LCD上。</p><p> 系統(tǒng)的工作流程圖如下:</p><
29、;p><b> 圖 7系統(tǒng)流程圖</b></p><p> 3.2 初始化程序的設計</p><p> 系統(tǒng)在正式工作前,都要進行一些初始化工作。因此在系統(tǒng)啟動之初,為了能夠讓STM32F103單片機各項功能合理有序的工作,需要進行一系列的初始化配置。本文系統(tǒng)設計中初始化程序主要包括微處理器STM32F103開發(fā)板的初始化程序、串行外設接口(SPI)的初始
30、化程序、nRF24L01芯片的初始化程序、按鍵的初始化程序、LCD顯示模塊的初始化程序等。其中STM32F103單片機的初始化又包括GPIO口初始化配置、中斷初始化配置等。</p><p> 3.2.1 SPI的初始化配置</p><p> STM32F103的串行SPI接口置配置時,設SPI為主,串行時鐘在SCK腳產(chǎn)生。配置程序軟件及步驟如下:</p><p>
31、; 1.配置nRF24L01的MOSI、MISO輸入輸出線和SCLK時鐘線分別同CPU的SPI對應的外設線相連接,即SPI1與SCK(PA5/SPI1_SCK)、MISO(PA6/SPI1_MISO)、MOSI(PA7/SPI1_MOSI)、NSS(PA4/SPI1_NSS)相連接。</p><p> 2.通過SPI_CR1寄存器的BR位定義串行時鐘波特率分頻值為16。</p><p>
32、; 3.選擇CPOL和CPHA位,定義數(shù)據(jù)傳輸和串行時鐘的相位關系,選擇了串行時鐘的穩(wěn)態(tài),時鐘懸空低電平,數(shù)據(jù)捕獲于第一個時鐘沿。</p><p> 4.設置DRR位來定義為8位。</p><p> 5.配置SPI_CR1寄存器的LSBFIRST位定義幀格式。</p><p> 6.如果NSS引腳需要工作在輸入模式,硬件模式中在整個數(shù)據(jù)幀傳輸器件應把NSS腳
33、連接到高電平;在軟件模式中,需設置SPI_CR1寄存器的SSM和SSI位,如果NSS引腳工作在輸出模式,則只需設置SSOE位。</p><p> 7.設置MSTR和SPE位在這個配置中,MOSI腳是數(shù)據(jù)輸出,而MISO腳是數(shù)據(jù)輸入。SPI串行口初始化流程圖如3-5所示:</p><p> 圖 8 SPI初始化</p><p> 3.2.2NVIC中斷向量及EX
34、TI外部中斷配置</p><p> 為了能讓系統(tǒng)程序的執(zhí)行效率更高,所以必須盡量使用STM32F103的中斷響應函數(shù)來取代傳統(tǒng)的循環(huán)判斷方式。STM32F103中斷配置以搶占優(yōu)先級與響應優(yōu)先級這兩項為主要參數(shù),搶占優(yōu)先級代表了中斷的嵌套關系,搶占優(yōu)先級較高(數(shù)值較?。┑闹袛嗄軌蛟趦?yōu)先級較低的中斷里面嵌套執(zhí)行。響應優(yōu)先級表示了當中斷同時發(fā)生的時候STM32F103響應的順序,數(shù)值較小的中斷優(yōu)先響應。</p&
35、gt;<p> 配置EXTI外部中斷,EXTI_line0對應按鍵PA0,當按鍵按下觸發(fā)中斷,進入中斷服務函數(shù),延時消抖后清除中斷標志位,開啟片選后在服務函數(shù)中調(diào)用nRF24L01發(fā)送程序關閉片選。</p><p> 圖 9 按鍵及中斷配置</p><p> 3.2.3 nRF24L01工作模式配置及接收函數(shù)</p><p> 當使用nRF24
36、L01時需要對其接收或者發(fā)送模式進行配置,首先調(diào)用初始化SPI函數(shù),然后配置寄存器使芯片工作于發(fā)送模式后拉高CE端至少10us,讀狀態(tài)寄存器STATUS,判斷是否是發(fā)送完成標志位置位,清標志,清數(shù)據(jù)緩沖。工作模式配置可以參考數(shù)據(jù)手冊在表1可以得到。配置過程如圖:</p><p> 圖 10 工作模式配置及接收函數(shù)</p><p> 3.2.4 LCD初始化配置</p>&
37、lt;p> LCD初始化直接調(diào)用庫函數(shù),經(jīng)過初始化LCD,設置背景顏色和設置字體顏色,過程非常簡單,這里不做過多說明。</p><p><b> 4. 設計總結</b></p><p> 在本次無線通信應用系統(tǒng)設計中我收獲了不少。在之前我都是學習了書本上</p><p> 的東西,而很少將其應用到實際中去,雖然之前我也做過一些課程
38、設計,但這次的課程設計更加從實。我從選取題目,畫原理圖到購買元器件再到焊接電路還有后面的調(diào)試測試工作我都一一的親身經(jīng)歷并學到了不少課本上學不到的東西。以前我學習課本上的知識,覺得要將其應用到實際中會是一件較為輕松的事,也看其他人做的東西很有意義,但我自己實際去設計制作時,才發(fā)現(xiàn)了要做好一個作品是那么的不容易,自己去做時,才發(fā)現(xiàn)自己的種種不足,動起手來是那么的笨拙。老師常常給我們講動手能力對我們學習電子的同學有多么重要,因此我也都一直想著
39、要提高自己的動手能力,這次課程設計對我來說是一次難的機會,對于我提高自己的動手能力有很大的幫助。我不僅學到了怎樣去改進、優(yōu)化、美化電路布局,也掌握更多調(diào)試、測試電路的方法,也學到了不少怎樣去選取合適的元器件的方法。在以后的學習工作做,我要不斷的提高自己的動手能力,就要不斷親身去設計、自作實際的東西,這樣才不會被時代所淘汰成為對社會有用的人。</p><p><b> 5. 參考文獻</b>
40、</p><p> [1] 趙亮、候國銳.單片機C語言編程與實例[M].北京:人民郵電出版社,2003年9月.</p><p> [2] 海創(chuàng).無線收發(fā)模塊nRF24L01開發(fā)包資料[J].海創(chuàng)電子科技,2010年.P99—P121.</p><p> [3] 張毅剛.單片機原理及應用[M].北京:高等教育出版社,2010年11月</p><
41、;p> [4] 康華光.電子技術基礎模擬部分(第五版)[M].北京:高等教育出版社,2010年.</p><p> [5] 康華光.電子技術基礎數(shù)字部分(第五版)[M].北京:高等教育出版社,2010年.</p><p> [6] 謝自美.電子線路設計.實驗.測試[M].武漢:華中科技大學出版社,2009年7月.</p><p> [7] 趙海,趙杰,
42、劉錚等.一種無線傳感器網(wǎng)絡節(jié)點的設計與實現(xiàn)[J].東北大學學報:自然科學版,2009年.P809—P812.</p><p> [8] 王秀梅.低功耗2.4GHz無線通信分系統(tǒng)的設計與實現(xiàn)[J].中國數(shù)據(jù)通信,2004年.P57—P61.</p><p> [9] 李文忠,段朝玉.短距離無線數(shù)據(jù)通信[M].北京:北京航空航天大學出版社,2006年.P178—P187.</p>
43、;<p><b> 附錄</b></p><p><b> 程序附錄1按鍵配置</b></p><p> void key_int(void)</p><p><b> {</b></p><p> /*******************gpio***
44、****************/</p><p> GPIO_InitTypeDef GPIO_InitStructure;</p><p> EXTI_InitTypeDef EXTI_InitStructure;</p><p> NVIC_InitTypeDef NVIC_InitStructure;</p><p>
45、GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_8;</p><p> GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;</p><p> GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;</p><p> GPI
46、O_Init(GPIOA, &GPIO_InitStructure);</p><p> /*******************NVIC*******************/</p><p> NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);</p><p> NVIC_InitStructure.NV
47、IC_IRQChannel = EXTI0_IRQn;</p><p> NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;</p><p> NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;</p><p> NVIC_InitStructur
48、e.NVIC_IRQChannelCmd = ENABLE;</p><p> NVIC_Init(&NVIC_InitStructure);</p><p> NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;</p><p> NVIC_InitStructure.NVIC_IRQChannelPr
49、eemptionPriority = 0;</p><p> NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;</p><p> NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;</p><p> NVIC_Init(&NVIC_InitStructure
50、);</p><p> /*******************EXTI*******************/</p><p> EXTI_InitStructure.EXTI_Line = EXTI_Line0;</p><p> EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;</p>
51、<p> EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; </p><p> EXTI_InitStructure.EXTI_LineCmd = ENABLE;</p><p> EXTI_Init(&EXTI_InitStructure);</p><p> EXTI_In
52、itStructure.EXTI_Line = EXTI_Line8;</p><p> EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;</p><p> EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; </p><p> EXTI_Ini
53、tStructure.EXTI_LineCmd = ENABLE;</p><p> EXTI_Init(&EXTI_InitStructure);</p><p><b> }</b></p><p> 程序附錄2spi初始化</p><p> void GPIO_SEG(void)</p>
54、<p><b> {</b></p><p> GPIO_InitTypeDef GPIO_InitStructure;</p><p> SPI_InitTypeDef SPI_InitStructure;</p><p> RCC_PCLK2Config(RCC_HCLK_Div2);</p><
55、;p> RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_SPI1|RCC_APB2Periph_AFIO,ENABLE);//¿ªÆô¸´Óù¦ÄÜ</p><p> SPI_Cmd(SPI1, DISABLE);
56、 //±ØÐëÏȽûÄÜ,²ÅÄܸıäMODE</p><p> GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_7;//5clk,7mosi<
57、/p><p> GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;</p><p> GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;</p><p> GPIO_Init(GPIOA, &GPIO_InitStructure);</p><p
58、> GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//miso</p><p> GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;</p><p> GPIO_Init(GPIOA, &GPIO_InitStructure);</p><p> GPI
59、O_InitStructure.GPIO_Pin = GPIO_Pin_4;//NSS</p><p> GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;</p><p> GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;</p><p> GPIO_Init(
60、GPIOA, &GPIO_InitStructure);</p><p> GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3;//2CE,3CS</p><p> GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;</p><p> GPIO_Ini
61、t(GPIOA, &GPIO_InitStructure);</p><p> GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;// IRQ</p><p> GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;</p><p> GPIO_Init(GPIOA, &GP
62、IO_InitStructure);</p><p> SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//Ñ¡ÔñÈ«Ë«¹¤</p><p> SPI_InitStructure.SPI_Mode =
63、 SPI_Mode_Master;</p><p> SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;</p><p> SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;</p><p> SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge
64、;</p><p> SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;</p><p> SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;</p><p> SPI_InitStructure.SPI_FirstBit = SPI_First
65、Bit_MSB;</p><p> SPI_InitStructure.SPI_CRCPolynomial = 7;</p><p> SPI_Init(SPI1, &SPI_InitStructure);</p><p> SPI_Cmd(SPI1, ENABLE);</p><p> GPIO_ResetBits(GPIO
66、A,GPIO_Pin_2);//ʹÄÜ 24L01</p><p> GPIO_SetBits(GPIOA,GPIO_Pin_3);//SPIƬѡȡÏû</p><p><b> }</b></p><p>&l
67、t;b> 附錄3 lcd顯示</b></p><p> void lcd_int(void)</p><p><b> {</b></p><p> STM3210B_LCD_Init();</p><p> LCD_SetTextColor(Black);</p><p&
68、gt; LCD_SetBackColor(Cyan);</p><p> LCD_Clear(Cyan);</p><p> LCD_DisplayStringLine(Line0,"2.4Ghz test");</p><p><b> }</b></p><p> 圖 11 lcd顯示圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于網(wǎng)絡編碼的無線網(wǎng)絡通信機制研究.pdf
- GPRS無線網(wǎng)絡通信的研究與設計.pdf
- 基于ANT模塊的體域網(wǎng)無線網(wǎng)絡通信平臺研究.pdf
- 基于ARM的Zigbee無線網(wǎng)絡通信系統(tǒng)的研究與設計.pdf
- 無線網(wǎng)絡課程設計--小型無線網(wǎng)絡設計
- 基于可穿戴技術的無線網(wǎng)絡通信系統(tǒng)的研究.pdf
- 基于雙波束調(diào)制的無線網(wǎng)絡通信定位綜合技術.pdf
- 基于Android的多跳無線網(wǎng)絡通信軟件的設計與實現(xiàn).pdf
- 基于無線網(wǎng)絡通信的墻板自動化生產(chǎn)線研究
- 基于無線網(wǎng)絡通信的墻板自動化生產(chǎn)線研究.pdf
- 基于無線網(wǎng)絡通信的視頻監(jiān)控系統(tǒng)終端數(shù)據(jù)業(yè)務軟件設計.pdf
- 無線網(wǎng)絡實驗
- 破解無線網(wǎng)絡
- 移動通信無線網(wǎng)絡掉話研究.pdf
- 從無線網(wǎng)卡看無線網(wǎng)絡
- 基于認知的無線網(wǎng)絡自適應通信方法.pdf
- 無線網(wǎng)絡中的協(xié)作通信技術.pdf
- 無線網(wǎng)絡破解
- 基于ZigBee協(xié)議的無線網(wǎng)絡設計.pdf
- 校園無線網(wǎng)絡的規(guī)劃設計
評論
0/150
提交評論