娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月16日(星期四)

正在發生

2019年01月16日 | stm32作為spi的從機使用例程

發布者:BlissfulDreams 來源: eefocus關鍵字:stm32  spi  從機 手機看文章 掃描二維碼
隨時隨地手機看文章

STM32的SPI可以作為master,也可以作為slave,作為slave的例程比較少,今天經過幾個小時的折騰,終于把數據獲取出來了,經驗證和元數據是一致的。現將源代碼貼在這里,供有需要的人參考。

 

硬件連接:

STM32(作為從設備)    外部設備

PB12-SPI2-NSS------------>  CS

PB13-SPI2-SCK------------->CLK

PB14-SPI2-MISO----NC

PB15_SPI2-MOSI----------->data

 

STM32作為從設備的時候,獲取數據的接口為MOSI(PB15),STM32只需要從SPI接口獲取數據,不需要發送數據,因此MISO(PB14)懸空。


//SPI2作為從機接口配置

void SPI_slave(void) 

    GPIO_InitTypeDef GPIO_InitStructure; 

    SPI_InitTypeDef SPI_InitStructure;

    NVIC_InitTypeDef   NVIC_InitStructure; 

    

    //Enable SPI2 clock and GPIO clock for SPI2 and SPI 

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE); 

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); 

    //IO初始化 

    

    //Configure SPI2 pins: SCK, MISO and MOSI 

    GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_12|GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; 

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 

    GPIO_Init(GPIOB, &GPIO_InitStructure); 

 

 

    //1st phase: SPI2 slave 

    //SPI1 Config 

    SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_RxOnly;//只接收,不發送,這個地方是重點,如果設置為單工通信是不能實現數據采集的。

    SPI_InitStructure.SPI_Mode = SPI_Mode_Slave; //從機模式

    SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //數據位為8

    SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //不發送數據時,時鐘線為高

    SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; //在第二個沿進行采樣

    SPI_InitStructure.SPI_NSS = SPI_NSS_Hard; //硬NSS

    SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; 

    SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //MSB優先

    SPI_InitStructure.SPI_CRCPolynomial = 7; 

    SPI_Init(SPI2, &SPI_InitStructure); 

 

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); //使用中斷進行接收,因此設置NVIC的優先機組,1表示1bit搶占優先級

    

    NVIC_InitStructure.NVIC_IRQChannel = SPI2_IRQn; 

    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; 

    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; 

    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

    NVIC_Init(&NVIC_InitStructure); 

    

    /* Enable SPI2 RXNE interrupt */    

    SPI_I2S_ITConfig(SPI2,SPI_I2S_IT_RXNE,ENABLE); 

 

    //Enable SPI2 

    //SPI_Cmd(SPI2, ENABLE); //先不啟動SPI,在收到特定命令的時候再啟動


//中斷服務程序

void SPI2_IRQHandler(void) 

    //接收數據 

    //printf("SPI_IRQ %d\n",RxIdx);

    SPI2_Buffer_Rx[RxIdx++] = SPI_I2S_ReceiveData(SPI2);

 

 

int main(void)

{  

    int i;

SystemInit(); /* 配置系統時鐘為 72M */   

LEDKEY_GPIOInit();

USART_GPIOInit();

SysTick_Configuration();

USART_Configuration(USART1, 9600);

SPI_slave(); 

LED1_ON;

  while (1)

  {

     if(RxIdx==50)//接收數據滿,對數據進行處理

     {

        SPI_Cmd(SPI2, DISABLE);

        RxIdx=0;

        printf("rcv full\n");

        for(i=0;i<49;i++)

           printf("0x%02X\n ",SPI2_Buffer_Rx[i]);//串口輸出獲取的數據

     }

     if(GetKey()==1)

{

LED1_ON;

         SPI_Cmd(SPI2, ENABLE);//按鍵按下后,使能SPI2,然后在中斷中接收數據

         RxIdx=0;//接收數據下標清零

         printf("key1\n");

}

if(GetKey()==2)

{

LED1_OFF;

}

 

  }

}


關鍵字:stm32  spi  從機 引用地址:stm32作為spi的從機使用例程

上一篇:LPC2200系列bootloader實現過程:
下一篇:STM32F051 SPI slave mode DMA接收

推薦閱讀

這幾天,劉女士在家大掃除,翻騰出不少“存貨”。“當時覺得這些小家電新鮮、時尚,就買下了。結果成了壓箱底的貨。”記者了解到,不少消費者因一時好奇和沖動,跟風購買了一些小家電,但只維持三分鐘熱度,小家電便束之高閣了。  在劉女士家里,記者看到,客廳的茶幾成了小家電陳列臺,榨汁機、豆芽機、酸奶機、絞肉機、榨油機等等。“要不是這幾天收拾...
如今,越來越多的電子元件被應用到汽車上,它們幫助我們監控、管理著車輛,在某個零部件出現異常時做出相應的提醒。但作為汽車界的科技公司,特斯拉并不滿足于這樣的現狀,其近日公布的一項技術中特斯拉展示了一種名為“應力循環監控系統及方法”的專利。此項專利可以通過一套實時監控系統來檢測零部件所受的應力,從而在零件徹底損壞前及時提醒車主檢查更...
msp430的簡單學習筆記:MSP430系列有豐富的定時器資源:看門狗定時器(WDT)、基本定時器(Basic Timer1)、定時器A(Timer_A)和定時器B(Timer_B)、實時時鐘(RTC)等。它們的基本功能如下:a)看門狗定時器:基本定時,當程序發生錯誤時執行一個受控的系統重啟動;b)基本定時器:基本定時,支持軟件和各個外圍模塊工作在低頻率、低功耗條件下;c)實時...
引言隨著社會的進步和工農業生產技術的發展,許多產品對生產和使用環境的要求越來越嚴,人們對溫度、濕度、光強、二氧化碳濃度、灰塵等環境因素的影響越來越重視了。為此,本文以農業技術發展為目的開發了一種智能控制系統。眾所周知,光、溫度、濕度是農業生產不可缺少的因素,所以本設計將其作為重點數據來處理,而目前市場上普遍存在的溫度檢測儀器大都...

史海拾趣

問答坊 | AI 解惑

嵌入式系統建模資料

臺灣UML專家高煥堂講解嵌入式系統建模的好書,下面是書的內容簡介:      UML是當今最流行的標準建模語言,它與嵌入式系統設計愈來愈密切。本書深入淺出地介紹 了兩者之間的密切關系,并通過精彩的實例講解,讓讀者迅速掌握U ...…

查看全部問答∨

單電源運放圖集

本帖最后由 paulhyde 于 2014-9-15 09:05 編輯 單電源運放圖集 翻譯自TI的《A Single-Supply Op-Amp Circuit Collection》 [ 本帖最后由 open82977352 于 2010-1-22 09:42 編輯 ]  …

查看全部問答∨

如何用定時器T2控制電機移動到一定距離自動停下,那位高手可提供代碼或方法

 Atmel公司的AT89C52有定時/計數器2,可利用T2的加減計數功能.T2有兩個輸入端,T2(P1.0)為脈沖輸入端,T2EX(P1.1)為加減計數控制端。利用90°相差的信號可以實現加減計數。圓度儀的電機I 控制電感測微儀的上下位置運動,速度的大小由數據采集板的D/A ...…

查看全部問答∨

請問下GPSONE怎么樣改變operation mode?

發起一次GPSONE就相當于建立一次DO連接,這個可以通過QXDM信令中看到, 我現在默認的operation mode = MS-assisted,我試過將operation mode 設置成MS-Based Mode或者tandalone mode,但是都不成功,無法建立DO連接,請問如何變化模式到MS-Based Mode ...…

查看全部問答∨

請教一個運行l2tp客戶端守護進程出現不能加載動態庫的問題

在嵌入式開發板上移植l2tp客戶端rp-l2tp后運行l2tpd守護進程出現could not dload sync-pppd.so:File not found,但在lib下是有sync-pppd.so的,在板子上是無法設置動態庫搜索路徑的,有那位大蝦作過或者是碰到過類似的問題的希望能指點一二,謝謝!…

查看全部問答∨

XIPKERNEL.BIN下載出錯?

XIPKERNEL.BIN下載出錯?如下所示,我將所有文件都包含到xipkernel里,下載到ARM時缺認為格式錯誤, 請問什么原因,是EBOOT版本問題嗎? Download BIN file information: ----------------------------------------------------- [0]: Base A ...…

查看全部問答∨

一封來自大四學生的信,虛心請教

    開始做一下自我介紹吧,我是一名湘潭大學05級自動化專業的學生。性格能內能外,覺得 還應該不斷完美。下面說一說我大學前面三年的生活吧。     大一大二沒學什么課外的知識,平平淡淡,如果參加社團不算的話。大三有機會 ...…

查看全部問答∨

高分請教簡單問題:AT89s52的訪問外部地址問題

我的硬件原理圖如下鏈接:請放心打開! http://www.dzjia.cn/html/jiejuefangan/20070619/24939_2.html 如圖示:P2.7接到RC500的NCS片選腳上,這時我想要訪問RC500的內部地址,我就應該先定義要訪問的地址,如下: #define Page_Sel      ...…

查看全部問答∨

103VE的SPI3使用求助

系統SPI1和SPI2工作正常,SPI3初始化后引腳狀態都不對,請版主指點,謝謝! RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 ...…

查看全部問答∨

新手求助: lsd-test43044X-II

在做端口試驗時候 LED燈為何無法閃爍???謝謝~…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 元氏县| 长岛县| 宁陵县| 闽清县| 东港市| 诸城市| 灌阳县| 法库县| 龙游县| 麦盖提县| 九寨沟县| 左权县| 嘉黎县| 曲松县| 南安市| 云和县| 定南县| 新乡市| 湟源县| 沧州市| 辽阳县| 宽城| 上栗县| 商城县| 清流县| 临江市| 白山市| 青铜峡市| 肃宁县| 泸州市| 屯门区| 永川市| 鞍山市| 桃源县| 亳州市| 五河县| 资源县| 图木舒克市| 安达市| 崇信县| 民县|