在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

SPI串行外設接口的特點概述

冬至子 ? 來源:硬件工程師的小世界 ? 作者:TTYY ? 2023-04-24 17:29 ? 次閱讀

一、概述

SPI是Serial Peripheral interface的縮寫,是一種串行外設接口。全雙工通信,有4根信號線,在MCU、SOC、FLASH、DSP等芯片上常見。

SPI特點

SPI接口只有一個主機,可以有一個或者多個從機。時鐘信號由主機發送,所以主機要讀一個字節就需要發送一個字節,為從機提供時鐘信號。當存在多個從機時由CS片選信號選擇從機。

一主一從連接框圖

圖片

一主多從連接框圖

圖片

SPI的片選信號

如果是一主一從也可以不使用片選信號,此時從機SPI的接收數據中斷使能,在中斷ISR里處理數據;如果使用片選信號,可以不使用SPI硬件片選信號,可以使用一個帶外部中斷功能的IO作為CS。

SPI的4根信號

MISO: 主機輸入/從機輸出引腳。

MOSI: 主機輸出/從機輸入引腳。

CLK:串行時鐘信號,由主機產生。

CS:從機片選信號,由主機控制。

當然,4根線也不是必須全用上,可以只發送或只接收。可以參考STM32的SPI介紹。

SPI的4種mode

所謂的模式,是指可以通過配置CPOL(時鐘極性)來設定CLK空閑狀態的電平是高還是低;通過配置CPHA(時鐘相位)來設定在CLK的哪個沿進行數據采樣和數據發送。CPOL和CPHA可以配置成0或1,所以組合有4種mode。

主機和從機的使用的mode要匹配對應。比如SPI FLASH只支持兩種mode,所以主機初始化配置要注意。如下圖FLASH只支持mode 0 和 mode 3:

圖片

二、STM32程序初始化舉例

void SPI1_Init(void)

{

//Enable SPI1 clock and GPIO clock for SPI1

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_SPI1, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;

//Configure SPI1 pins: SCK, MISO and MOSI

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(GPIOA, &GPIO_InitStructure);

//SPI1 Config

SPI_InitTypeDef SPI_InitStructure;

SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;

SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;

SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;

SPI_InitStructure.SPI_CPOL=SPI_CPOL_Low;//主從機的配置相同

SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;//主從機的配置相同

SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;

SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;

SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;//主從機的配置相同

SPI_InitStructure.SPI_CRCPolynomial = 7;

SPI_Init(SPI1, &SPI_InitStructure);

NVIC_InitTypeDef NVIC_InitStructure;

NVIC_InitStructure.NVIC_IRQChannel = SPI1_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);

SPI_I2S_ITConfig(SPI1,SPI_I2S_IT_RXNE,ENABLE);//使能接收中斷

//Enable SPI1

SPI_Cmd(SPI1, ENABLE);

}

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

    關注

    555

    文章

    8079

    瀏覽量

    352202
  • STM32
    +關注

    關注

    2277

    文章

    10952

    瀏覽量

    359244
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1731

    瀏覽量

    92900
  • 時鐘信號
    +關注

    關注

    4

    文章

    455

    瀏覽量

    28790
  • MCU芯片
    +關注

    關注

    3

    文章

    255

    瀏覽量

    11731
收藏 人收藏

    評論

    相關推薦

    串行外設接口SPI模塊簡析

    慕課蘇州大學.嵌入式開發及應用.第四章.較復雜通信模塊.串行外設接口SPI模塊0 目錄4 較復雜通信模塊4.1 串行
    發表于 11-08 07:35

    一文讀懂串行外設接口SPI

    串行外設接口SPI是什么?其有哪些部分組成呢?如何對串行外設
    發表于 12-16 06:28

    ADIuC812的串行外設接口(SPI)及其在LonWork

    ADIuC812的串行外設接口(SPI)及其在LonWorks智能節點中的應用:介紹了ADIuC812單片機的串行
    發表于 05-29 12:20 ?22次下載

    串行外設接口SPI

    串行外設接口SPISPI是一個高速同步串行輸入/輸出端口,傳送速率可編程,應用:外部移位寄存器、D/A轉換器、A/D轉換器、串行EEPROM
    發表于 09-15 08:01 ?14次下載

    理解ATE SPI (串行外設接口)

    理解ATE SPI (串行外設接口) 大多數Maxim® ATE設計都采用了一個串行接口
    發表于 01-26 16:34 ?2710次閱讀
    理解ATE <b class='flag-5'>SPI</b> (<b class='flag-5'>串行</b><b class='flag-5'>外設</b><b class='flag-5'>接口</b>)

    一文讀懂SPI串行外設接口

    SPI總線系統是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。正是由于有了通信方式,我們才能夠通過芯片控制
    發表于 04-27 15:19 ?1w次閱讀

    dsPIC33E/PIC24E器件之串行外設接口SPI

    串行外設接口(Serial Peripheral Interface,SPI)模塊是用于同其他外設或單片機進行通信的同步
    發表于 06-03 09:19 ?19次下載

    dsPIC30F系列參考手冊之串行外設接口SPI

    串行外設接口(Serial Peripheral Interface,SPI)模塊是用于同其他外設或單片機進行通信的同 步
    發表于 06-22 08:20 ?5次下載
    dsPIC30F系列參考手冊之<b class='flag-5'>串行</b><b class='flag-5'>外設</b><b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)

    PIC24F系列參考手冊之串行外設接口SPI

    串行外設接口(Serial Peripheral Interface,SPI)模塊是用于同其他外設或單片機器件進行通信 的同步
    發表于 06-24 03:20 ?3次下載
    PIC24F系列參考手冊之<b class='flag-5'>串行</b><b class='flag-5'>外設</b><b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)

    PIC24H系列參考手冊之串行外設接口SPI

    串行外設接口(Serial Peripheral Interface,SPI)模塊是用于同其他外設或單片機器件進行通信 的同步
    發表于 06-25 03:20 ?4次下載
    PIC24H系列參考手冊之<b class='flag-5'>串行</b><b class='flag-5'>外設</b><b class='flag-5'>接口</b>(<b class='flag-5'>SPI</b>)

    PIC32系列參考手冊之串行外設接口SPI

    本文主要介紹了PIC32系列參考手冊之串行外設接口SPI)。
    發表于 06-06 17:28 ?6次下載

    SPI串行外設接口的編程說明資料免費下載

    本文檔的主要內容詳細介紹的是SPI串行外設接口的編程說明資料免費下載。
    發表于 03-25 08:00 ?2次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>外設</b><b class='flag-5'>接口</b>的編程說明資料免費下載

    第9章:串行外設接口模塊(SPI)PPT下載

    第9章:串行外設接口模塊(SPI)PPT下載
    發表于 10-08 14:56 ?36次下載

    SPI 串行外設接口

    **SPI簡介:**串行外設接口(Serial Peripheral Interface Bus)SPI是一種用于芯片通信的同步
    發表于 12-20 19:31 ?9次下載
    <b class='flag-5'>SPI</b> <b class='flag-5'>串行</b><b class='flag-5'>外設</b><b class='flag-5'>接口</b>

    SPI串行外設接口設計實現

    SPI 全稱為 Serial Peripheral Interface,譯為串行外設接口。它是 Motorola 公司推出的一種相對高速的同步、全雙工的通信總線協議。
    發表于 05-29 15:40 ?1638次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>外設</b><b class='flag-5'>接口</b>設計實現
    主站蜘蛛池模板: 欧美丝妇 | 色免费在线| 亚洲成a人片在线看 | 九色欧美 | 国产资源在线免费观看 | 天堂视频在线视频观看2018 | 伊人草 | 中文字幕11页| 国产欧美视频在线 | 午夜国产精品免费观看 | 中文天堂资源在线www | 午夜一级毛片看看 | 亚洲日本在线观看视频 | 日本xxwwwxxxx网站 | 久草五月 | 成人夜夜 | 成年网站在线在免费播放 | 天天噜噜日日噜噜久久综合网 | 国产精品美女自在线观看免费 | 欧美xxxxbbbb在线播放 | 你懂的免费在线观看 | 综合亚洲一区二区三区 | 国产成都一二三四区 | 看真人一级毛片 | 一区二区三| 深爱婷婷激情网 | 国产精品午夜自在在线精品 | 国产欧美日韩在线人成aaaa | 一区二区视频在线 | 九色九色九色在线综合888 | 在线观看网址你懂得 | 男人的天堂视频在线 | 婷婷中文网| 亚洲精品在线视频 | 美女一级一级毛片 | 毛片网站网址 | 黄色午夜| 九九热re| 国产精品秒播无毒不卡 | 在线天堂网 | 日本视频色 |