衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于SPI傳輸過程 stm32 SPI配置

MCU開發加油站 ? 來源:未知 ? 作者:胡薇 ? 2018-04-20 11:01 ? 次閱讀

SPI (Serial Peripheral interface),顧名思義就是串行外圍設備接口。SPI是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節約了芯片的管腳,同時為PCB的布局上節省空間,提供方便,主要應用在 EEPROM,FLASH,實時時鐘AD轉換器,還有數字信號處理器和數字信號解碼器之間。

SPI內部簡明結構圖

關于SPI傳輸過程(下面由靈魂畫家作圖)

SPI包含四根線:

1、SS(Slave Select):片選信號線,當有多個SPI設備與MCU相連時,每個設備的這個片選信號線是與MCU單獨的引腳相連的,而其他SCK,MOSI,MISO線則為多個設備并聯到相同的SPI總線上,當SS信號線為低電平時,片選有效,開始SPI通信

2、SCK(Serial Clock):時鐘信號線,由主通信設備產生,不同的設備支持的時鐘頻率不一樣。

3、MOSI(Master Output,Slave Input):主設備輸出、從設備輸入引腳

4、MISO(Master Input,Slave Output):主設備輸入、從設備輸出引腳

關于SPI模式

根據SPI時鐘極性(CPOL)和時鐘相位(CPHA)配置的不同可分為4種模式

時鐘極性是指SPI通信設備處于空閑狀態時(或SPI通信開始時,即SS為低電平時),SCK的電平信號CPOL=0時,SCK空閑狀態為低電平,CPOL=1時則相反。

時鐘相位是指數據采樣的時刻,當CPHA=0時,MOSI或MISO數據線會在時鐘線第一個邊沿開始采樣(奇數邊沿)

當CPHA=1時,MOSI或MISO數據線會在時鐘線第二個邊沿開始采樣(偶數邊沿)

步驟分析:SS片選信號線拉低-->根據CPOL和CPHA進行數據采樣

stm32 SPI接口框圖

stm32 SPI配置過程

1、配置相關引腳的復用功能,使能SPIx時鐘

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);

2、初始化SPIx,設置SPIx工作模式

void SPI_Init(SPI_TypeDef* SPIx, SPI_InitTypeDef* SPI_InitStruct);

3、使能SPIx

void SPI_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState);

4、SPI傳輸數據

void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data);

uint16_t SPI_I2S_ReceiveData(SPI_TypeDef* SPIx);

5、查看SPI傳輸狀態

FlagStatus SPI_I2S_GetFlagStatus(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG);

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • pcb
    pcb
    +關注

    關注

    4326

    文章

    23160

    瀏覽量

    399966
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1722

    瀏覽量

    92129
  • AD轉換器
    +關注

    關注

    4

    文章

    250

    瀏覽量

    41525

原文標題:stm32之SPI通信協議

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問stm32 SPI DMA傳輸過程該如何操作?

    程序要使用spi dma,由于以前沒有用到過,有些疑惑,主要使用的是spi2,我主要是想用其接收一幀數據,主要的配置如下:RCC_AHBPeriphClockCmd
    發表于 09-05 09:30

    SPI通信模式的配置過程分析

    SPI通信分析許久不更,想你們了。SPI 模式的配置SPI通信配置STM官方的芯片手冊中對于SPI
    發表于 02-17 07:57

    SPI方式FPGA配置SPI flash編程

    SPI方式FPGA配置SPI flash編程
    發表于 05-16 18:01 ?165次下載
    <b class='flag-5'>SPI</b>方式FPGA<b class='flag-5'>配置</b>和<b class='flag-5'>SPI</b> flash編程

    關于STM32SPI通信

    STM32SPI通信調試經驗
    發表于 02-07 15:53 ?25次下載

    STM32F0xx_SPI讀寫(Flash) 配置詳細過程

    STM32F0xx_SPI讀寫(Flash)配置詳細過程
    的頭像 發表于 04-07 11:40 ?5370次閱讀
    <b class='flag-5'>STM32F0xx_SPI</b>讀寫(Flash) <b class='flag-5'>配置</b>詳細<b class='flag-5'>過程</b>

    STM32SPI接口、cubeMX軟件配置SPI接口和分析SPI相關代碼

    本文主要介紹STM32SPI接口、cubeMX軟件配置SPI接口和分析SPI相關代碼。 STM32
    的頭像 發表于 09-24 14:09 ?1.6w次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>SPI</b>接口、cubeMX軟件<b class='flag-5'>配置</b><b class='flag-5'>SPI</b>接口和分析<b class='flag-5'>SPI</b>相關代碼

    STM32F103和STM32F030 SPI-miso配置不同點

    在調試STM32F103和STM32F030的SPI時,發現兩者的MISO配置不同,STM32F103: /**
    發表于 12-02 16:06 ?17次下載
    <b class='flag-5'>STM32</b>F103和<b class='flag-5'>STM32</b>F030 <b class='flag-5'>SPI</b>-miso<b class='flag-5'>配置</b>不同點

    STM32F1x HAL庫學習筆記(12)硬件 SPI配置

    STM32CubeMx 配置 硬件 SPI 主機文章目錄一、硬件 SPI 的使用二、SPI配置
    發表于 12-06 11:36 ?18次下載
    <b class='flag-5'>STM32</b>F1x HAL庫學習筆記(12)硬件 <b class='flag-5'>SPI</b> 的<b class='flag-5'>配置</b>

    SPI的基本知識(偏向STM32中的SPI

    SPI的基本知識1. 雜談2.什么是SPI?3. SPI的通信協議4. STM32SPI配置
    發表于 12-07 11:51 ?11次下載
    <b class='flag-5'>SPI</b>的基本知識(偏向<b class='flag-5'>STM32</b>中的<b class='flag-5'>SPI</b>)

    SPI通信分析

    SPI通信分析許久不更,想你們了。SPI 模式的配置SPI通信配置STM官方的芯片手冊中對于SPI
    發表于 12-22 19:12 ?2次下載
    <b class='flag-5'>SPI</b>通信分析

    STM32 SPI配置及深入解析

    SPI分析平時會使用硬件SPI,但是只用于應用沒有具體深入了解SPI的執行流程,此處我采用抓取波形的方式對SPI進行了一下深入了解。STM32
    發表于 12-22 19:16 ?4次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>SPI</b><b class='flag-5'>配置</b>及深入解析

    STM32L4使用SPI驅動TFTLCD

    STM32L4使用SPI驅動TFTLCD在上新建工程的基礎上添加使用SPI功能(新建工程見STM32使用LL庫建立工程)一、CubeMX的配置
    發表于 12-22 19:20 ?11次下載
    <b class='flag-5'>STM32</b>L4使用<b class='flag-5'>SPI</b>驅動TFTLCD

    關于STM32SPI外設時鐘分頻對應的SCK速率

    STM32F103為例,經過system_stm32f10x.c文件中的SystemInit()函數之后,這里是指的默認時鐘配置如下圖所示:STM32F103的系統框架圖如下所示:可
    發表于 12-22 19:23 ?9次下載
    <b class='flag-5'>關于</b><b class='flag-5'>STM32</b>的<b class='flag-5'>SPI</b>外設時鐘分頻對應的SCK速率

    STM32學習筆記--SPI

    目錄:一、SPI簡介1.SPI信號線2.SPI模式3.工作時序二、STM32SPI1.SPI特性2.S
    發表于 12-22 19:24 ?11次下載
    <b class='flag-5'>STM32</b>學習筆記--<b class='flag-5'>SPI</b>

    STM32CubeMX-HAL庫的SPI接口使用

    本文主要介紹STM32SPI接口、cubeMX軟件配置SPI接口和分析SPI相關代碼。
    發表于 02-08 15:27 ?10次下載
    <b class='flag-5'>STM32</b>CubeMX-HAL庫的<b class='flag-5'>SPI</b>接口使用
    真人百家乐官网策略| 百家乐双龙出| 西乌| 百家乐桌子轮盘| 百家乐官网技巧和规律| 百家乐长龙技巧| 缅甸百家乐官网博彩真假| 至尊百家乐| 至尊百家乐官网娱乐场| 大发888在线娱乐城代理| 最佳场百家乐官网的玩法技巧和规则 | 百家乐官网专家赢钱打法| 天天百家乐的玩法技巧和规则| 百家乐官网mediacorp| 大发888真钱娱乐| 多台百家乐官网的玩法技巧和规则 | 邯郸百家乐官网园怎么样| 威尼斯人娱乐城网上百家乐| 自贡百家乐官网娱乐场开户注册| 旧金山百家乐的玩法技巧和规则| 百家乐官网赌场公司| 大发888娱乐城游戏下载| 金杯百家乐官网的玩法技巧和规则| 网上真钱斗地主| 百家乐庄家优势| 百家乐官网下路教学| 大发888私网开户| e世博百家乐技巧| 网上百家乐官网官方网站| 大发888娱乐城下载lm0| 百家乐官网荷| 丰禾国际| 百家乐游戏解码器| 加州百家乐官网的玩法技巧和规则| 千亿国际娱乐城| 百家乐平台网| 永康百家乐官网赌博| 168棋牌游戏| 百家乐注码法| 模拟百家乐官网的玩法技巧和规则| 现金娱乐城|