




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
實驗7CC2530串口控制器編程本實驗完成時間:第8周、第9周一、 實驗目的1、 CC2530串口控制器的原理;2、 掌握CC2530串口控制器的編程步驟;二、 實驗任務從PC機上的串口調試助手(超級終端)輸入的字符能夠發(fā)送給CC2530,CC2530再把所接收到的字符“原路”回傳給對方。直觀的效果:當串口調試助手(超級終端)激活時,鍵盤上輸入的字符能夠在串口調試助手的窗口那個回顯。三、 實驗原理1、何謂超級終端和串口調試助手超級終端:一個和uart串口相關聯(lián)的窗口應用程序。它能夠從uart串口上所接收到的字符顯示出來,同時當該窗口激活時能夠把鍵盤所鍵入的字符從串口發(fā)送出去。超級終端能夠從串口收發(fā)字符成功的前提是串口通信雙方所約定的收發(fā)格式一致。它和一般所說的串口調試助手類似,但有區(qū)別:超級終端不會以16進制的形式顯示所接收的字符編碼;串口調試助手不會把鍵盤輸入的字符實時從串口發(fā)送出去,需要點擊手動發(fā)送。串口調試助手:桌面上有串口聊天助手,如果不能打開,可以如圖1在S503的D盤/試驗箱資料光盤/工具軟件/串口工具和驅動/串口聊天助手,打開后如圖2所示。圖1串口聊天助手位置圖1串口聊天助手位置打開任意一個即可!圖2圖2串口聊天助手界面圖2、實驗室GEC-CC2530開發(fā)板的uart串口接口(USB轉串口,紅色圈圈)如圖3:圖3單片機開發(fā)板的USB轉串口該接口和cc2530所連接的電路圖如下:□AR1T_CTS!—>FDjSR71Oj> □AR1T_CTS!—>FDjSR71Oj> F0_4RS■■DR91U3VCCCl*V*ci-V-GA■SNDC2>111T1OU1T=ii1OUTRflIN]TUNT2HMJT^OUTRSN串口UART由該圖不難得知:P0_3作為串口的發(fā)送管腳;P0_2作為串口的接收管腳;P0_5、P0_4作為硬件流控用的,一定要注意,我們平時見到的串口的交叉線都只用到了收、
發(fā)、地三根線,所以在串口設置是都禁止硬件流控!由此可見,GEC-CC2530所占的資源就是P0_3(發(fā)送管腳)、P0_2(接收管腳),更進一步結合CC230數(shù)據(jù)手冊的GPIO設備管腳映射表分析:P+ngryJFuracilaffiP?PIT-fi§4121?G4USART1SPIArt2MlMDCssMDcSSUEAfiT1UAHT點FL2RXTXftitCTRTCT可知:GEC-CC2530串口——>P0_3(發(fā)送管腳)、P0_2(接收管腳)——>uart03、cc2530串口uart編程步驟(1)總線初始化,相關SFR如下PERCFGP2DIRPxSELUxCSR我們uart0位于P0位置 ~二當p°口管腳沖突是uart0優(yōu)先POSEL〔0xF3〕端口。助能選擇位名稱夏位R/W描述7:0SELP0J70]goR.WFQ.7到P0.D功能迭擇0:通用UO外設咂當P0_2P0_3作為了uart0的收發(fā)管腳2、數(shù)據(jù)鏈路格式化(數(shù)據(jù)位、停止位、校驗位、波特率);UxUCRUxGCRUxBAUDUOUCRC0hG4>-UURT0UAR7控割m裳但RW7FLUSHC:清度翠元.當段置時,該事粉冉會#即停止當前挨作貴且返回單元的空聞供毒.右FXOW0L.直RTSE竹流便能.用KTS^CTS引鄂選擇域什漁榜制的使用.山 憤控制裳止L 渣控制慢度50R-WL-ART苛肩便粉LL與便隆奇骨梗驗,寫人回的唯泱定發(fā)送的第9忡土1宜,歸果收到前案咂不匹配推到手節(jié)間布偶技會,茬地行報音皿.ill果奇雅松雅使惟?那盅該企沒代以下奇宵校物增31.L 慎校野4B9T90RJWUARTQP^r-^^-三詼位是1時,使能奇㈤快驗應虬物{叩第9曲}-如果,過FABITY攵瞌帝腐校特,.第9觸的內(nèi)誓是通詛D9分罰的.山 皿傳站1J 食位何丑TPJLRTTY□匚職!1哥俱校廷慢隗-除了為哥閶校船瞿押直企州于計算,總■度空怪甄:七棋式-山 祭周苛iffi校臉L 奇商校會金嗟2海GR-WL2RT停止七的住此-泣擇要止位的怛3S版 1位停止位L 2位冉止忸1S70PLR-WVJkKrfr止41的電平心劊不回亍開知位的電平山 停止位祇電平L0START&RHrCART起短H1平-囚置璞的概勝茉用既鼻的起略壁螺別臼 皿相反的電平-山 起姻忸頁電平L 起船位向電平U0GCR(0kG5)-ISAiAT0控制但*actRW描述7CPOL0RWSPI的時■伸棧性玦 也時講梃性1= 正時善概性CCPHA0K--WSPI村供招廿M當JETACPOL倒置到CPOL時般握蝴昭到MQKI,并衛(wèi)我SCK隊CPOLW當免筮從UPCiL眉黃到EAOLPt象廊融M剽-誡戲.#且當丁炊從CTCL與LiT到CPOL時JS旗蝴無施拜到一S6ORDER.0RW對賦岸一_:L£E1: MSB卷酸詆410BAUD._E[4:0]oowor.族特本指致值-BAUD_EfilBA.UB_M決定了UAKT渡特率和的主&CK時UCBAUC康比町-此AJTT下建特事控制但%W71CEA.UD_M[?=0]0x00、時伴坂聿.波特率的計算:在CC2530的時鐘位高速時鐘位32M時,我們可以按照下表進行配置:Tabke16-1.■C-ommo^lyUsecllBaucl-RateS-ettings52MHzSystemClockBaudRate^kBAUDBflUD典k&CR.BAUD_E^iErrer質2400二0.14+300c;70.14aaaoc=50.1414.40021*s0.Q31D.9K)5030.142B.SKJ216龜0.033B.40059ID0.1457.600216ID0.0378.soa50110.1411G^DD216110.0323Q.4DC!2;12Q.Q23、讀寫串口收發(fā)寄存器UxDBUF、RX_BYTE(UxCSR的第2位)、TX_BYTE(UxCSR的第1位)RX_BYTE:接收字節(jié)狀態(tài),0:沒有收到字節(jié);1:準備好接收字節(jié)TX_BYTE:^字節(jié)狀態(tài),0:字節(jié)沒有被傳送;1:字節(jié)準備被傳送精品我們讀取數(shù)據(jù)時,RX_BYTE置1,然后讀場:08討;我們發(fā)送數(shù)據(jù)時,TX_BYTE置1,且將準備傳送的字節(jié)寫入到UxDBUF;四、實驗步驟1、領取單片機開發(fā)板,編寫代碼,先編譯下載,如圖4下載時需要接下載器,下載好之后,斷開下載器和方口線,再將方口線直接接在單片機開發(fā)板的USB轉串口上如圖5,如果電源指示燈不亮,則將RST旁邊的撥碼開關打到OFF位置。圖4連接下載器圖5圖4連接下載器圖5和PC機進行串口通信如圖5連接好之后,打開設備管理器,通過設備管理器中查看COM口,查找自己是COM幾。一般方口線直接相連后,靜待20S就會出現(xiàn)設備。若直接將方口線接在單片機上,打開設備管理器發(fā)現(xiàn)出現(xiàn)如下圖6的?,則需要右鍵點擊問號更新安裝USB轉串口的驅動。此驅動需要下載:ftp/教學軟件/粵嵌zigbeeUSB轉串口/,解壓至當前文件夾下,右鍵更新驅動路徑為選擇剛剛解壓的文件:CH341SER。更新安裝驅動之后,出現(xiàn)如圖7所示,比剛才多了一個COM3,則我們現(xiàn)在就是COM3口。在串口助手上選擇COM3口。若不清楚自己剛才連上的是COM幾,斷開方口線,再重新連接方口線。打開串口調試助手,設置好COM口,和波特率即可;足件cnKijT^JBvlVls.stllhfl*足件cnKijT^JBvlVls.stllhfl**1凹瞄舊國囪0y%£Ji+0日眨體制*盤S3EK>TEfldnpr―日鋌工具bqDDEAWATAPI0|任蕓計電俚字p□,Uii— 賄aSJS14S。島利也丑口和通-?學垢口(COM和LPT:!??HHyFjfflifwn(Lpriimian?走瞿*r遇裝徉匚(ooMi)-U四?俾計算立r-LstflH>&重蜥OfS用隗字Pu港.qUSB-2.D-S.Arls!:幅Mcgv:殳田r-<"強迎息HpQb.斐用=行.笫或Jftp£?.:■砒JgsI,*碩儺理點杵眄噪見AJ至西的胃以上瞄舊1DERI'由七七旬f]畋工員A?猝計剌曲kl:或其5應件寶>揪牽地月戶箱近登?&能康》*疝gt'日騷粉畦用院序#遙S3CE5T0Kfie<■>JEDEATA/ATAPF[口BO孑竺■一■ 正UM扣LE](|了USB-S-ERIAL (CCft<13)L 田伸口ILPTH)rrnwi)>-V:..二鮑,4聲玲般甫i敘掃典H6短T通用三行堂洵乾偷'亍網(wǎng)苴艾it??土汞喝矩圖6沒有識別出USB轉串口圖7安裝驅動后編程實現(xiàn):使用cc2530的串口0來和PC機通信,通信格式為:8位數(shù)據(jù)位、1位停止位、沒有奇偶校驗位、沒有流控、波特率為115200;(1)程序實現(xiàn)在串口調試助手上每隔0.5秒顯示HELLOWORD!(2)程序實現(xiàn)在串口調試助手上把鍵盤輸入的字符回顯出來2、建立IAR工程,完善以下代碼以實現(xiàn)實驗任務:程序實現(xiàn)在串口調試助手上大約每隔0.5秒顯示HELLOWORD!可參考課本P110,但不與課本上完全相同第一題:#include<iocc2530.h>#defineuintunsignedint#defineucharunsignedcharvoiddelay(uint);charTxdata[]="HELLOWORD!!";voidset_clock_speed()//時鐘初始化(〃下面的代碼是把系統(tǒng)的高速時鐘設置為32M,請對為下三條句添加注釋CLKCONCMD&=?(1<<6);//while(CLKCONSTA&(1<<6));//CLKCONCMD&=?0X07;//)voiddelay(unsignedintcount)//延時函數(shù)(unsignedinti,j;for(i=0;i<count;i++)for(j=0;j<10000;j++) ;)voiduart0_init()//串口初始化:可參考課本P110,但不與課本上完全相同{〃補充代碼實現(xiàn)初始化:USART。選擇uart模式,管腳為P0(位置1),數(shù)據(jù)格式為8位數(shù)據(jù)位、1位停止位、沒有校驗位,波特率為15200,LSB發(fā)送模式,1為停止,0為起始)voidmain。set_clock_speed();//時鐘初始化uart0_init();//串口初始化while(1)(intj;for(j=0;Txdata[j]!=’\0’;j++)(//下面三句實現(xiàn)串口發(fā)送,補充下面代碼U0DBUF=Txdata[j];//填充數(shù)據(jù)到串口數(shù)據(jù)寄存器〃通過測試tx_byte標志位是否為1等待字節(jié)發(fā)送完畢://#TX_BYTE標志位清零)〃延時))3、編譯鏈接程序后下載到cc2530板子上,驗證是否完成了顯示任務,修改代碼中的HELLOWORD!!為HELLOWORD!!\r,編譯、下載,觀察運行結果;再修改成HELLOWORD!!\r\n觀察運行結果;溫馨提示:上述代碼中 實現(xiàn)串口發(fā)送的3句代碼可以換成以下方法, 方法 請測試并在課后多多U0DBUF=Txdata[j];思考: while(UTX0IF==0);UTX0IF=0;以下內(nèi)容為第9周實驗內(nèi)容:4、建立IAR工程,程序實現(xiàn)在串口調試助手上把鍵盤輸入的字符回顯出來,完善以下代碼以實現(xiàn)實驗任務第二題:#include<iocc2530.h>voidset_clock_speed()(〃下面的代碼是把系統(tǒng)的高速時鐘設置為32M,請大家通過查看手冊嘗試自己來寫,不要抄襲)voiduart0_init()(//USART0選擇uart模式,管腳為P0,數(shù)據(jù)格式為8位數(shù)據(jù)位、1位停止位、沒有校驗位//波特率為19200,LSB發(fā)送模式,1為停止,0為起始//將串口。的位置選在P0口:PERCFG的第。位清0//P0口的外設優(yōu)先級控制設為串口0優(yōu)先:P2DIR[7:6]清0//P0口的2、3管腳設為外設工作方式//USART0工作的UART模式,接收使能//據(jù)格式為8位數(shù)據(jù)位、1位停止位、沒有校驗位//波特率baud_e的選擇//波特率設置voiduart0_send_byte(chartmp)(//將字節(jié)tmp從串口0發(fā)送出去)charuart0_receive_byte(void)(//從串口0接收一個字節(jié))voidmain。(//補充完整charbuf;set_clock_speed();uart0_init();while(1)(buf= //從串口0接收一個字符到buf;//把接收到的字符又給串口0發(fā)送回去精品5、編譯鏈接程序后下載到cc2530板子上,驗證是否完成了任務;五、拓展實驗1.在上面的例子中我們定義了uart0_send_byte函數(shù)可以向串口發(fā)送一個字符,當然在此基礎上我們可以實現(xiàn)如何向串口發(fā)送一個字符串的函數(shù)。我們是否可以用c語言的標準IO函數(shù)printf呢
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年可降解心臟支架創(chuàng)新企業(yè)制定與實施新質生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年地質勘察成本控制軟件行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年中國工業(yè)粗乙酸行業(yè)深度研究分析報告
- 2025年中國呼吸設備行業(yè)市場深度分析及投資戰(zhàn)略咨詢報告
- 2025年中波導航機項目可行性研究報告
- 2025年幕墻設計項目投資可行性研究分析報告
- 天津某運輸有限公司收購美國某公司40%股權項目可行性研究報告
- 2025年度海洋資源開發(fā)利用項目合同
- 2025年度網(wǎng)絡新媒體運營策劃合同
- 2025年度智能農(nóng)業(yè)西瓜種植技術合作協(xié)議書
- 石膏固定骨牽引的護理
- 2024年中國陶茶具市場調查研究報告
- 護理不良事件管理及根因分析
- 中華人民共和國職業(yè)分類大典是(專業(yè)職業(yè)分類明細)
- 人教版道德與法治三年級下冊全冊課件【完整版】
- DB43-T 2142-2021學校食堂建設與食品安全管理規(guī)范
- Module8Myfuturelife教學設計-2023-2024學年英語外研版九年級下冊
- 中職歷史教學計劃
- 橋梁頂升移位改造技術規(guī)范
- 浙江省杭州市2022-2023學年五年級下學期數(shù)學期末試卷(含答案)
- 介紹人提成方案
評論
0/150
提交評論