![使用C語言操作DSP的寄存器_第1頁](http://file4.renrendoc.com/view12/M08/0B/15/wKhkGWXiizKAfmyLAABsFX7Y2GA427.jpg)
![使用C語言操作DSP的寄存器_第2頁](http://file4.renrendoc.com/view12/M08/0B/15/wKhkGWXiizKAfmyLAABsFX7Y2GA4272.jpg)
![使用C語言操作DSP的寄存器_第3頁](http://file4.renrendoc.com/view12/M08/0B/15/wKhkGWXiizKAfmyLAABsFX7Y2GA4273.jpg)
![使用C語言操作DSP的寄存器_第4頁](http://file4.renrendoc.com/view12/M08/0B/15/wKhkGWXiizKAfmyLAABsFX7Y2GA4274.jpg)
![使用C語言操作DSP的寄存器_第5頁](http://file4.renrendoc.com/view12/M08/0B/15/wKhkGWXiizKAfmyLAABsFX7Y2GA4275.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第6章使用C語言操作DSP的寄存器6.1寄存器的C語言訪問
由于DSP的寄存器能夠?qū)崿F(xiàn)對系統(tǒng)和外設功能的配置與控制,因此在DSP的開發(fā)過程中,對于寄存器的操作是極為重要的,也是很頻繁的,也就是說對寄存器的操作是否方便會直接影響到DSP的開發(fā)是否方便。幸好,F(xiàn)2812為大家提供了位定義和寄存器結(jié)構(gòu)體的方式,能夠很方便的實現(xiàn)對DSP內(nèi)部寄存器的訪問和控制。6.1.1了解SCI的寄存器(SCIA)寄存器名地址占用空間/16b功能描述SCICCR0x000070501SCI-A通信控制寄存器SCICTL10x000070511SCI-A控制寄存器1SCIHBAUD0x000070521SCI-A波特率設置寄存器高字節(jié)SCILBAUD0x000070531SCI-A波特率設置寄存器低字節(jié)SCICTL20x000070541SCI-A控制寄存器2SCIRXST0x000070551SCI-A接收狀態(tài)寄存器SCIRXEMU0x000070561SCI-A接收仿真數(shù)據(jù)緩沖寄存器SCIRXBUF0x000070571SCI-A接收數(shù)據(jù)緩沖寄存器SCITXBUF0x000070591SCI-A發(fā)送數(shù)據(jù)緩沖寄存器SCIFFTX0x0000705A1SCI-AFIFO發(fā)送寄存器6.1.1了解SCI的寄存器(SCIB)寄存器名地址占用空間/16b功能描述SCICCR0x000077501SCI-A通信控制寄存器SCICTL10x000077511SCI-A控制寄存器1SCIHBAUD0x000077521SCI-A波特率設置寄存器高字節(jié)SCILBAUD0x000077531SCI-A波特率設置寄存器低字節(jié)SCICTL20x000077541SCI-A控制寄存器2SCIRXST0x000077551SCI-A接收狀態(tài)寄存器SCIRXEMU0x000077561SCI-A接收仿真數(shù)據(jù)緩沖寄存器SCIRXBUF0x000077571SCI-A接收數(shù)據(jù)緩沖寄存器SCITXBUF0x000077591SCI-A發(fā)送數(shù)據(jù)緩沖寄存器SCIFFTX0x0000775A1SCI-AFIFO發(fā)送寄存器6.1.2使用位定義的方法定義寄存器所謂“位域”就是把一個字節(jié)中的二進制位劃分為幾個不同的區(qū)域,并說明每個區(qū)域的位數(shù)。每個域都有一個域名,允許在程序中按域名進行操作。位域的定義和位域變量的說明同結(jié)構(gòu)體定義和其成員說明類似,其語法格式為:Struct
位域結(jié)構(gòu)名{
類型說明符位域名1:位域長度類型說明符位域名2:位域長度
…
類型說明符位域名n:位域長度};例6-1位域定義struct
bs//定義位域bs{
inta:8;
intb:2;
intc:6;};位域定義的說明1)位域的定義必須按照從右往左的順序,也就是從低位開始定義;2)一個位域必須存儲在同一個字節(jié)中,不能跨兩個字節(jié)。如果一個字節(jié)所??臻g不夠放另一個域時,應該從下一個單元起存放該域:struct
bs//定義位域bs{
inta:4;
int:0;//空域
intb:5;//從第二個字節(jié)開始存放
intc:3;};位域定義的說明3)位域的長度不能大于一個字節(jié)的長度,也就是不能超過8位;4)位域可以無位域名,這時,它只用作填充或調(diào)整位置。無名的位域不能使用。struct
bs//定義位域bs{
inta:4;
int:2;//這2位不能使用,
intb:2;//
intc:5;//從第二個字節(jié)開始存放
intd:3;};例6-2用位域定義SCICCRstructSCICCR_BITS{Uint16SCICHAR:3;//2:0字符長度控制位
Uint16ADDRIDLE_MODE:1;//3多處理器模式控制位
Uint16LOOPBKENA:1;//4回送測試模式使能位
Uint16PARITYENA:1;//5極性使能位
Uint16PARITY:1;//6奇/偶極性選擇位
Uint16STOPBITS:1;//7停止位個數(shù)
Uint16rsvd1:8;//15:8保留};structSCICCR_BITSbit;bit.SCICHAR=7;//SCI字符長度控制位為8位例6-3SCICCR的共同體定義unionSCICCR_REG{Uint16all;//可實現(xiàn)對寄存器整體操作
structSCICCR_BITSbit;//可實現(xiàn)位操作};unionSCICCR_REGSCICCR;SCICCR.all=0x007F;SCICCR.bit.SCICHAR=5;例6-4SCI寄存器的結(jié)構(gòu)體文件structSCI_REGS{unionSCICCR_REGSCICCR;//通信控制寄存器
unionSCICTL1_REGSCICTL1;//控制寄存器1Uint16SCIHBAUD;//波特率寄存器(高字節(jié))Uint16SCILBAUD;//波特率寄存器(低字節(jié))unionSCICTL2_REGSCICTL2;//控制寄存器2unionSCIRXST_REGSCIRXST;//接收狀態(tài)寄存器
Uint16SCIRXEMU;//接收仿真緩沖寄存器
unionSCIRXBUF_REGSCIRXBUF;//接收數(shù)據(jù)寄存器
Uint16rsvd1;//保留
Uint16SCITXBUF;//發(fā)送數(shù)據(jù)緩沖寄存器
unionSCIFFTX_REGSCIFFTX;//FIFO發(fā)送寄存器
unionSCIFFRX_REGSCIFFRX;//FIFO接收寄存器
unionSCIFFCT_REGSCIFFCT;//FIFO控制寄存器
Uint16rsvd2;//保留
Uint16rsvd3;//保留
unionSCIPRI_REGSCIPRI;//FIFO優(yōu)先級控制寄存器};externvolatilestructSCI_REGSSciaRegs;externvolatilestructSCI_REGSScibRegs;例6-5對SCICCR按位進行操作
SciaRegs.SCICCR.bit.STOPBITS=0;//1位停止位
SciaRegs.SCICCR.bit.PARITYENA=0;//禁止極性功能
SciaRegs.SCICCR.bit.LOOPBKENA=0;//禁止回送測試模式功能
SciaRegs.SCICCR.bit.ADDRIDLE_MODE=0;//空閑線模式
SciaRegs.SCICCR.bit.SCICHAR=7;//8位數(shù)據(jù)位例6-6對SCICCR整體進行操作SciaRegs.SCICCR.all=0x0007;例6-7對SCIHBAUD和SCILBAUD進行操作SciaRegs.SCIHBAUD=0;SciaRegs.SCILBAUD=0xF3;6.2寄存器文件的空間分配使用DATA_SECTION方法將寄存器文件分配到數(shù)據(jù)空間將數(shù)據(jù)段映射到寄存器對應的存儲空間是在DSP_GlobalVariableDefs.c中定義。例6-8將變量分配到數(shù)據(jù)段#pragma
DATA_SECTION(SciaRegs,"SciaRegsFile");volatilestructSCI_REGSSciaRegs;#pragma
DATA_SECTION(ScibRegs,"ScibRegsFile");volatilestructSCI_REGSScibRegs;例6-9將數(shù)據(jù)段映射到寄存器對應的
存儲空間(在CMD文件中定義)MEMORY{
……PAGE1:SCI_A:or
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鐵嶺貨運上崗證考試題
- 2025年唐山c1貨運上崗證模擬考試
- 2024-2025年高中政治課時作業(yè)10新時代的勞動者含解析新人教版必修1
- 2024-2025學年高中生物課時分層作業(yè)12基因指導蛋白質(zhì)的合成含解析新人教版必修2
- 2024-2025版高中生物2.1.1-2孟德爾遺傳試驗的科學方法分離規(guī)律試驗練習含解析中圖版必修2
- 2024-2025學年高中化學課時提升作業(yè)十五鹽類的水解含解析新人教版選修4
- 2024-2025學年八年級物理全冊4.1光的反射練習含解析新版滬科版
- 2024-2025學年高中語文7李將軍列傳學案含解析蘇教版選修史記蚜
- 2024-2025學年高中生物第2章細胞的化學組成第2節(jié)組成細胞的無機物練習含解析北師大版必修1
- 我想你的檢討書
- 2025-2030全球廢棄食用油 (UCO) 轉(zhuǎn)化為可持續(xù)航空燃料 (SAF) 的催化劑行業(yè)調(diào)研及趨勢分析報告
- 山東省臨沂市蘭山區(qū)2024-2025學年七年級上學期期末考試生物試卷(含答案)
- 湖北省武漢市2024-2025學年度高三元月調(diào)考英語試題(含答案無聽力音頻有聽力原文)
- 一年級下冊勞動《變色魚》課件
- 商務星球版地理八年級下冊全冊教案
- 天津市河西區(qū)2024-2025學年四年級(上)期末語文試卷(含答案)
- 2025年空白離婚協(xié)議書
- 校長在行政會上總結(jié)講話結(jié)合新課標精神給學校管理提出3點建議
- T-CSUS 69-2024 智慧水務技術(shù)標準
- 2025年護理質(zhì)量與安全管理工作計劃
- 湖南大學 嵌入式開發(fā)與應用(張自紅)教案
評論
0/150
提交評論