電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>STM32 SPI通信常見問題分析資料下載

STM32 SPI通信常見問題分析資料下載

2021-03-31 | pdf | 107.91KB | 次下載 | 2積分

資料介紹

SPI,全稱為 Serial Peripheral Interface(串行外設(shè)接口),是一種用于短距離通信的同步串行通信接口,主要應(yīng)用在嵌入式系統(tǒng)。 這是第二篇分享,《STM32學(xué)習(xí)筆記》之SPI通信常見問題分析。 SPI的應(yīng)用場合很廣,顯示模組、時(shí)鐘芯片、存儲(chǔ)芯片、溫度傳感器等眾多器件都有使用SPI接口通信。這些器件通常作為從設(shè)備,STM32作為主設(shè)備來控制它們。 STM32 SPI基礎(chǔ)內(nèi)容 絕大部分STM32芯片都有多個(gè)SPI外設(shè),它可與外部SPI器件進(jìn)行半雙工/全雙工同步串行通信。 1. SPI特性 三條線全雙工、雙線單工同步傳輸 支持 8 位或 16 位傳輸幀格式選擇 支持主模式或從模式操作 可編程的時(shí)鐘極性和相位 支持 MSB 或 LSB 數(shù)據(jù)順序 支持DMA收發(fā)數(shù)據(jù) 2. 引腳描述 MISO:主輸入/從輸出數(shù)據(jù); MOSI:主輸出/從輸入數(shù)據(jù); SCK:時(shí)鐘(主輸出,從輸入時(shí)鐘); NSS:從器件選擇,可理解片選信號(hào); 3. SPI時(shí)序 SPI的時(shí)序中有兩個(gè)參數(shù)需要注意,那就是時(shí)鐘相位和時(shí)鐘極性。在STM32中,SPI時(shí)序由CPOL 和 CPHA 這兩位來決定。 通過軟件配置這兩個(gè)參數(shù),可分為四種時(shí)序關(guān)系,如下圖: 4. 數(shù)據(jù)幀格式 串行同行數(shù)據(jù)傳輸分為 MSB 和 LSB,也就是最高有效位在前,還是最低有效位在前。(注:最左邊的比特位即為最高有效位)。 比如傳輸一個(gè)字節(jié):0x95(1001 0101)。 如果按照MSB(高位在前),則發(fā)送順序:1001 0101。 如果按照LSB(低位在前),則發(fā)送順序反過來:1010 1001。 STM32 SPI參數(shù)配置 通常STM32的SPI作為主機(jī)連接外部從機(jī),要與從機(jī)建立正常通信,就必須與從機(jī)的參數(shù)匹配才行。 這里以【STM32作為SPI主機(jī)讀寫SPI Flash】為例,主要配置參數(shù):雙向全雙工、主機(jī)模式、8位數(shù)據(jù)、MSB等。 1. 標(biāo)準(zhǔn)外設(shè)庫配置 SPI_InitTypeDef SPI_InitStructure; SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //雙向全雙工 SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //主機(jī)模式 SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //8位數(shù)據(jù) SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //時(shí)鐘極性:空閑為高 SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; //時(shí)鐘相位:第2個(gè)時(shí)鐘沿捕獲 SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //軟件控制NSS信號(hào) SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; //波特率預(yù)分頻值為4 SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //數(shù)據(jù)傳輸從 MSB 位開始 SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(SPI1, &SPI_InitStructure); ▲ 左右滑動(dòng),查看完整代碼 2. STM32CubeMX配置 首先選擇全雙工主機(jī)模式,然后再逐步配置下面參數(shù)。這里的波特率時(shí)鐘灰色不可配置,由你系統(tǒng)時(shí)鐘和分頻時(shí)鐘決定。 這些配置參數(shù)比較容易理解(英文清晰明了),若不懂可針對性查閱參考手冊。 STM32 SPI常見問題 雖說SPI相對比較簡單,但在實(shí)際應(yīng)用過程中還是會(huì)存在一些奇怪的問題,下面通過案例來分析SPI常見的一些問題。 問題一:NSS片選問題 有工程師使用硬件NSS控制從機(jī),以為NSS信號(hào)是自動(dòng)控制,導(dǎo)致操作從設(shè)備失敗。 分析原因:STM32 SPI的NSS信號(hào)為片選信號(hào),可“使能”為硬件控制(參看上面參數(shù)配置)。 但在應(yīng)用中同樣需要軟件操作才能控制NSS信號(hào)(高低),比如:
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)