一、MSP430F5529——SPI模式
在SPI模式下,數據的發送和接收是由多個器件共享一個主時鐘運行的。
MSP430提供一個額外的引腳,該引腳被主機控制,用來使外部器件執行接收和發送的數據所產生的功能。
??UCxSTE(統一通信的專用測試設備引腳)
MSP430提供3或4個信號用于SPI數據轉換:
UCxSIMO
???-主模式:UCxSIMO是數據輸出行
???-從模式:UCxSIMO使數據輸入行
UCxSOMI
???-主模式:UCxSOMI為數據輸入行
???-從模式:UCxSOMI為數據輸出行
UCxCLK – USCI SPI Clock
???-主模式:UCxCLK作為輸出時鐘
???-從模式:UCxCLK作為輸入時鐘
UCxSTE
???-從傳輸使能
1、USCI 的初始化和重置
USCI由 PUC 或 UCSWRST位進行重置。當單片機獲取一個PUC信號之后,UCSWRST位會自動置“1”,使 USCI 保持在一個復位的狀態下。當 UCSWRST 被置“1”時,UCRXIE、UCTXIE、UCRXIFG、UCOE和UCFE位被重置,并且 UCTXIFG 被置“1”。當UCSWRST被清除時,USCI處于運行狀態。
USCI初始化配置過程:
1、令 UCSWRST = 1;
2、當 UCSWRST = 1時,初始化所有USCI寄存器(包括UCxCTL1)
3、配置端口
4、通過軟件令 UCSWRST = 0
5、通過UCRXIE 或者 UCTXIE 是中斷能夠工作
2、SPI傳輸中斷操作
UCTXIFG中斷標志是由發送器設置的,表示UCxTXBUF準備接受另一個字符。如果同時設置了UCTXIE和GIE,則會產生一個中斷請求。如果將字符寫入UCxTXBUF,則會自動重置UCTXIFG。UCTXIFG在PUC信號之后或UCSWRST = 1時設置。UCTXIE在PUC信號之后或UCSWRST = 1時重置。
注意:在SPI模式下寫入UCxTXBUF
當UCTXIFG = 0時寫入UCxTXBUF的數據可能會導致數據傳輸錯誤。
3、SPI接收中斷操作
UCRXIFG中斷標志在每次接收到字符并加載到UCxRXBUF時設置。當UCSWRST = 1時,通過系統復位PUC信號重置UCRXIFG和UCRXIE。讀取UCxRXBUF時會自動重置UCRXIFG。
4、中斷向量發生器
??USCI中斷標志被優先化并組合成一個單一的中斷向量。中斷向量寄存器UCxIV用于確定哪個標志請求中斷。最高優先級的中斷在UCxIV寄存器中產生一個數字,可以被計算或添加到程序計數器(PC)來自動進入適當的軟件程序。禁用的中斷不會影響UCxIV值。
??對UCxIV寄存器的任何訪問(讀或寫)都會自動重置最高掛起的中斷標志。如果設置了另一個中斷標志,則在處理初始中斷之后立即生成另一個中斷。
5、串行時鐘控制
??UCxCLK由總線上的主時鐘提供。當UCMST = 1時,由UCxCLK引腳上的USCI位時鐘發生器提供位時鐘。用UCSSELx位選擇用于生成位時鐘的時鐘信號。當UCMST = 0時,主程序在UCxCLK引腳上提供USCI時鐘,不使用位時鐘發生器,此時無需關心UCSSELx位。SPI接收機和發射機并行操作,使用相同的時鐘源進行數據傳輸。
??比特率控制寄存器(UCxxBR1和UCxxBR0)中UCBRx的16位值是USCI時鐘源BRCLK的分割因子。在主模式下可以生成的最大位時鐘是BRCLK。SPI模式下不使用調制,USCI_A使用SPI模式時應清除UCAxMCTL。
UCAxCLK/UCBxCLK頻率計算公式:
即使設置UCBRx產生一個1:1占空比的位時鐘,奇數UCBRx設置導致奇數分區。在這種情況下,位時鐘的高相位比低相位長一個BRCLK周期。當UCBRx = 0時,對BRCLK不加除法,位時鐘等于BRCLK
6、串行時鐘的極性和相位
UCxCLK的極性和相位是通過USCI的UCCKPL和UCCKPH控制位獨立配置的。每種情況的時間安排如圖37-4所示。
二、MSP40F5529——SPI模式寄存器
1、USCI_A SPI Mode Registers
表37-2列出了適用于SPI模式的USCI_A寄存器。基本地址可以在設備特定的數據表中找到。地址偏移量列于表37-2
上一篇:MSP430使用庫函數上手
下一篇:利用MSP430G2553搭建藍牙小車
推薦閱讀
史海拾趣
隨著電子行業的快速發展,Barry Industries Inc意識到只有不斷創新才能在市場中立足。公司加大了對研發的投入,引進了一批高素質的研發人才,并建立了完善的研發體系。經過多年的努力,Barry成功突破了微波半導體封裝技術的多項關鍵技術,推出了多款性能卓越、具有創新性的產品。這些產品不僅廣泛應用于軍事、航天、通信等領域,還為公司贏得了市場的廣泛認可。
BCD Semi(Diodes)在電子行業中以其卓越的技術實力和持續的產品創新而聞名。近年來,公司成功研發出一系列高性能的模擬半導體產品,這些產品在市場上取得了顯著的成功。通過不斷優化生產工藝和設計理念,BCD Semi成功提升了產品的性能和可靠性,贏得了客戶的廣泛認可。同時,公司還積極開拓新的應用領域,將產品應用于汽車、通信、工業控制等多個領域,進一步擴大了市場份額。
在技術創新的基礎上,ABCO公司開始積極拓展市場。公司通過與大型電子設備制造商建立合作關系,將產品應用于汽車、醫療、工業等多個領域。同時,ABCO公司還加強了品牌建設,通過參加國際電子展會、舉辦技術研討會等方式,提升了品牌知名度和影響力。
近年來,創客文化在全球范圍內興起,Global Specialties迅速抓住了這一趨勢。公司推出了一系列創客/DIY產品,包括各種模塊化的電子元件和工具,旨在幫助創客們實現他們的創意和想法。通過舉辦線上線下的創客活動,Global Specialties不僅促進了創客之間的交流與合作,還進一步擴大了自己的品牌影響力。
隨著產品線的不斷完善,AITSEMI公司開始積極尋求市場機會,并逐步在全球范圍內建立銷售網絡。通過與各大消費電子品牌的緊密合作,AITSEMI的芯片產品成功應用于音頻功放和電源管理等領域,為全球消費者提供了更優質的產品體驗。同時,公司還積極拓展醫療、工業控制、照明等新興市場,為公司的持續增長提供了強大的動力。
ATS始終堅持以創新為驅動力,不斷提升研發創新能力。公司設立了專門的研發團隊,負責新技術和新產品的研發工作。通過與高校和研究機構的合作,ATS不斷引入前沿的科技成果和人才資源,為公司的創新發展提供了有力支持。此外,ATS還建立了完善的研發流程和質量控制體系,確保每一款產品都能達到最高的性能和質量標準。
摘要:設計了基于單片機的智能充電器,介紹了其硬件和軟件實現。該充電器可以實時采集和計算電池的參數,并進行智能控制,還可以通過串口和上位機進行通訊并進行實時。 關鍵詞:智能充電器單片機開關電源鋰離子電池 ...… 查看全部問答∨ |
前言當今社會的高檔酒店,我們不能把它僅僅理解為裝飾的豪華,更重要的是要如何為客人提供舒適的環境、周到快捷優質的服務、能滿足客戶的各種需求,同時最大限度的降低酒店運營成本,提高酒店的效率和效益。通過建設“酒店智能化系統”,運用先進的 ...… 查看全部問答∨ |
需要幫忙,關于1602顯示的,關鍵部分已經寫出注釋,是不是哪個地方沒有設置好呢,請大家提示下我 請高手們看下這段程序,不必全看,有注釋,只要看下設置LCD1602的那個部分就行了,我是第1次寫LCD1602的程序,不知道是不是哪里沒設置好,它就是不顯示 關鍵部分已經寫出注釋了,感謝謝大家了 功能: 定義兩個按鈕,為“增 ...… 查看全部問答∨ |
問一個WinCE有效期的問題,用過WinCE的幫忙解答一下啊 我用的是Windows CE6.0,下載的是微軟有效期為180天的評估版。想問一下,我如果用這個版本定制一個操作系統,是不是說180天后,我這個操作系統就不能用了呢?… 查看全部問答∨ |
Error: Ram start overlaps rom binary Fatal error hit, exiting... makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec). makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec). 出錯提示如上。先謝過了。… 查看全部問答∨ |
各位朋友幫我看看,如何把主機客戶端的一個字符串通過RTDX傳到DSP?主機客戶端用VC編寫的。傳數據沒問題,傳字符串時write()函數老是返回failure,不知道什么原因。… 查看全部問答∨ |
我新畫了一塊板子,做了十個用來作實驗。但是在實驗的過程中出現一個問題,就是當通電的時候,程序有時候不運行。但是關閉之后再重啟,有的時候又好著呢。我多試了幾次,得出的概率大概是連續通斷十幾次會出現程序不運行的現象。 我自己考慮會 ...… 查看全部問答∨ |
【DIY】1680 LED點陣屏,開源(包含PCB,原理圖,源代碼)!歡迎交流指教! 剛剛DIY了一個1680點陣屏,想給大家分享一下,指出一些不足和需要改進的地方,不吝賜教哦! 照片效果不好,先上視頻:http://www.tudou.com/programs/view/R-VS6E0MBmg/ 完全免費開源,有需要者留下郵箱或者加我QQ:289828969交流,嘻嘻。。。 ...… 查看全部問答∨ |
首先,我說一下我的操作: 我想在DE-2上實現NIOSII EDS提供的例子binary—counter的例子,讓LED亮起來,并且把程序燒到flash里面,我在SOPC里面搭建的有 CPU,PIO,JTAG-UART,SDRAM controller,EPCS,systemid,還有鎖相環PLL,輸出三個時鐘,分別 ...… 查看全部問答∨ |