在线观看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
    +關注

    關注

    556

    文章

    8152

    瀏覽量

    356102
  • STM32
    +關注

    關注

    2291

    文章

    11022

    瀏覽量

    363265
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1790

    瀏覽量

    95135
  • 時鐘信號
    +關注

    關注

    4

    文章

    468

    瀏覽量

    29139
  • MCU芯片
    +關注

    關注

    3

    文章

    256

    瀏覽量

    12028
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    串行外設接口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 ?2811次閱讀
    理解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 ?1.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 ?38次下載

    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 ?1864次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>串行</b><b class='flag-5'>外設</b><b class='flag-5'>接口</b>設計實現
    主站蜘蛛池模板: 婷婷深爱网 | 国产日韩一区二区三区 | 夜夜操夜夜爱 | 亚洲欧美精品成人久久91 | 国产精品一区二区三区四区五区 | 色秀视频免费网站在线观看 | 午夜视频在线观看www中文 | 午夜片 飘香香影院 | 亚洲图片综合区另类图片 | 国内黄色一级片 | 男人你懂的在线观看视频 | 亚洲视频四区 | 6080伦理久久亚洲精品 | 五月婷婷色综合 | 91九色成人| 五月天狠狠| 欧美黄色录像 | 五月激情婷婷丁香 | 在线观看二区三区午夜 | 欧美人成网站免费大全 | 四虎精品影院2022 | 亚洲狠狠色丁香婷婷综合 | 色婷婷久 | 国产色婷婷亚洲 | 久久久噜噜噜久久中文字幕色伊伊 | 五月婷婷一区二区 | 永久免费在线播放 | 亚洲国产精品婷婷久久 | 澳门三级bd高清 | 在线播放91灌醉迷j高跟美女 | 欧美成人精品福利网站 | 色秀网站 | 亚洲一区二区在线 | 又粗又长又爽又长黄免费视频 | 久久国产精品99精品国产987 | 全国男人的天堂网站 | 亚洲综合五月天欧美 | 欧美小网站| 日本一区二区三区在线 视频观看免费 | 免费看一级黄色录像 | 日韩毛片一级 |