日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

SPI時(shí)序

SPI時(shí)序圖如下:

這里寫(xiě)圖片描述

STM32做為主機(jī)設(shè)計(jì)SPI時(shí)序一般選用CPOL=1/CPHA=1;

SPI通信配置

1、時(shí)鐘使能。GPIO時(shí)鐘使能RCC->APB2ENR,SPI時(shí)鐘使能RCC->APB2ENR設(shè)置。 
(為什么還要連接GPIO時(shí)鐘,參見(jiàn)STM32參考手冊(cè)8.1.4節(jié)。手冊(cè)上這么說(shuō)的:對(duì)于復(fù)用輸出功能,端口必須配置成復(fù)用功能輸出模式(推挽或開(kāi)漏)。)

2、配置GPIO工作模式。配置GPIO片選,由軟件管理(即自定義引腳),推挽輸出,上拉; 
配置SPI引腳SCK、MOSI、MISO所用到的引腳為復(fù)用功能;GPIOX->CR1 GPIOX->ODR;

3、SPI設(shè)置工作模式。通過(guò)配置SPIx->CR1來(lái)設(shè)置SPI 的工作模式。配置工作模式為全雙工,主機(jī)模式,SCK閑時(shí)電平為高,第二個(gè)時(shí)鐘沿(上升沿)采樣數(shù)據(jù),內(nèi)部從機(jī)選擇軟件管理模式。設(shè)置SPI的時(shí)鐘頻率(最大18MHZ),設(shè)置數(shù)據(jù)格式(MSB在前還是LSB在后),內(nèi)部從機(jī)選擇設(shè)置為主機(jī)(置1)。 
這里寫(xiě)圖片描述

這里寫(xiě)圖片描述

4、使能SPI,啟動(dòng)傳輸。

5,因?yàn)镾PI是同步輸入輸出的,在發(fā)送數(shù)據(jù)的時(shí)候已經(jīng)在接受數(shù)據(jù)。通過(guò)檢測(cè)SPIx->SR第一位的狀態(tài)來(lái)決定要進(jìn)行發(fā)送和接受數(shù)據(jù)。通過(guò)讀取SPIx->DR位的來(lái)發(fā)送和接受數(shù)據(jù)。 
SPIx->SR寄存器圖: 
這里寫(xiě)圖片描述 
SPIx->DR寄存器圖 
這里寫(xiě)圖片描述

#include "spi.h"                  

//SPI口初始化

//這里針是對(duì)SPI1的初始化

void SPI1_Init(void)

{    

    RCC->APB2ENR|=1<<2;       //PORTA時(shí)鐘使能    

    RCC->APB2ENR|=1<<12;      //SPI1時(shí)鐘使能 


    //這里只針對(duì)SPI口初始化

    GPIOA->CRL&=0X000FFFFF; 

    GPIOA->CRL|=0XBBB00000;//PA5.6.7復(fù)用      

    GPIOA->ODR|=0X7<<5;    //PA5.6.7上拉


    //這里只針對(duì)SPI——CS口初始化

    GPIOA->CRL&=0XFFFFF0FF; 

    GPIOA->CRL|=0X00000300;//PA2推挽輸出        

    GPIOA->ODR|=1<<2;    //PA2上拉


    SPI1->CR1|=0<<10;//全雙工模式    

    SPI1->CR1|=1<<9; //軟件nss管理

    SPI1->CR1|=1<<8;  


    SPI1->CR1|=1<<2; //SPI主機(jī)

    SPI1->CR1|=0<<11;//8bit數(shù)據(jù)格式 

    SPI1->CR1|=1<<1; //空閑模式下SCK為1 CPOL=1

    SPI1->CR1|=1<<0; //數(shù)據(jù)采樣從第二個(gè)時(shí)間邊沿開(kāi)始,CPHA=1  

    SPI1->CR1|=7<<3; //Fsck=Fcpu/256

    SPI1->CR1|=0<<7; //MSBfirst   

    SPI1->CR1|=1<<6; //SPI設(shè)備使能

    SPI1_ReadWriteByte(0xff);//啟動(dòng)傳輸(主要作用:維持MOSI為高)       

}   

//SPI1 速度設(shè)置函數(shù)

//SpeedSet:0~7

//SPI速度=fAPB2/2^(SpeedSet+1)

//APB2時(shí)鐘一般為72Mhz

void SPI1_SetSpeed(u8 SpeedSet)

{

    SpeedSet&=0X07;         //限制范圍

    SPI1->CR1&=0XFFC7; 

    SPI1->CR1|=SpeedSet<<3; //設(shè)置SPI1速度  

    SPI1->CR1|=1<<6;        //SPI設(shè)備使能 

//SPI1 讀寫(xiě)一個(gè)字節(jié)

//TxData:要寫(xiě)入的字節(jié)

//返回值:讀取到的字節(jié)

u8 SPI1_ReadWriteByte(u8 TxData)

{       

    u16 retry=0;                 

    while((SPI1->SR&1<<1)==0)//等待發(fā)送區(qū)空   

    {

        retry++;

        if(retry>0XFFFE)return 0;

    }             

    SPI1->DR=TxData;          //發(fā)送一個(gè)byte    

     retry=0;                

    while((SPI1->SR&1<<0)==0) //等待接收完一個(gè)byte  

    {

        retry++;

        if(retry>0XFFFE)return 0;

    }                               

    return SPI1->DR;          //返回收到的數(shù)據(jù) 

}


關(guān)鍵字:STM32  SPI  通信配置 引用地址:STM32 學(xué)習(xí)筆記--SPI通信配置

上一篇:STM32 USART 接收任意長(zhǎng)度字符
下一篇:STM32模擬SPI接口程序

推薦閱讀

? ? 4月17日,美國(guó)政府發(fā)出禁止美國(guó)公司向中興通訊銷售零部件的禁令,這是近期中美貿(mào)易摩擦背景下的又一件大事。  根據(jù)《紐約時(shí)報(bào)》披露,中興用于電信網(wǎng)絡(luò)基礎(chǔ)設(shè)施的產(chǎn)品,以及它的智能手機(jī),使用了大量美國(guó)零部件,集中在芯片制造商高通(Qualcomm)的微處理器、康寧(Corning)的玻璃和杜比公司(Dolby)的聲音技術(shù)?! 【驮诮衲?月份,美國(guó)總統(tǒng)...
SPI接口簡(jiǎn)介:(同樣是基于正點(diǎn)原子F4)SPI 是英語(yǔ)Serial Peripheral interface的縮寫(xiě),顧名思義就是串行外圍設(shè)備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便,主要應(yīng)用在 EEPROM,F(xiàn)LASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)...
隨著魅族17系列發(fā)布會(huì)日益臨近,這款旗艦越來(lái)越多的信息也隨之而來(lái)?! 〗?,據(jù)爆料,魅族17系列將會(huì)擁有一款魅族17 Pro的大杯產(chǎn)品,而且將會(huì)首次搭載無(wú)線充電功能!  此前魅族支持無(wú)線充電的產(chǎn)品只有一款眾籌失敗的魅族zero,所以魅族17 Pro也將會(huì)是魅族首款支持無(wú)線充的手機(jī)產(chǎn)品?! ∪碌臒o(wú)線充電技術(shù)被命名為Super wireless mCharg...
2021年4月28日,中國(guó) – 服務(wù)多重電子應(yīng)用領(lǐng)域的全球半導(dǎo)體領(lǐng)導(dǎo)者意法半導(dǎo)體(STMicroelectronics,簡(jiǎn)稱ST;紐約證券交易所代碼:STM) 宣布,將在2021年4月29日歐洲證券交易所開(kāi)盤(pán)之前公布2021年第一季度財(cái)務(wù)數(shù)據(jù)。在財(cái)務(wù)數(shù)據(jù)公布后,意法半導(dǎo)體將立即在公司網(wǎng)站上發(fā)布財(cái)報(bào)新聞稿。意法半導(dǎo)體將在2021年4月29日歐洲中部時(shí)間(CET)上午9:30 /北京時(shí)間下午3...

史海拾趣

問(wèn)答坊 | AI 解惑

ARM經(jīng)典300問(wèn)

網(wǎng)上搜集到的一些資料  希望對(duì)大家有點(diǎn)用。。。 [ 本帖最后由 sideanson 于 2009-5-1 08:37 編輯 ]…

查看全部問(wèn)答∨

ADSL無(wú)線路由器PCB/SCH.

本帖最后由 paulhyde 于 2014-9-15 03:31 編輯 ADSL無(wú)線路由器PCB/SCH.  …

查看全部問(wèn)答∨

《FPGA三國(guó)志》(十)2008-11-13半導(dǎo)體公司-Xilinx Altera Actel Lattice股票行情

今天可以看到在金融風(fēng)暴下的4家FPGA制造商的股票行情。 以市值計(jì)算 …

查看全部問(wèn)答∨

max713sce貼片 有沒(méi)有替代品?

max713sce貼片 有沒(méi)有替代品? 這個(gè)片子不太好買,不知道有沒(méi)有替代品 能直接替代的?…

查看全部問(wèn)答∨

請(qǐng)教在WINCE下的MODEM使用方法.

請(qǐng)問(wèn)如何使用API方法RasDial,我的聲明為: Declare Function RasDial Lib \"coredll\" ( _             ByVal dialExtensions As Integer, _             ByVa ...…

查看全部問(wèn)答∨

關(guān)于CE內(nèi)核

遇到這樣的一個(gè)問(wèn)題,同樣的硬件環(huán)境,唯一不同的是2個(gè)CF存儲(chǔ)卡不一樣,用相同的內(nèi)核,為什么一個(gè)系統(tǒng)能正常運(yùn)行,而另一個(gè)卻無(wú)法跳轉(zhuǎn)?!停在JUMP TO 0X233344334這上面?請(qǐng)大蝦幫忙!…

查看全部問(wèn)答∨

ERROR:Pack:1107 - Unable to combine the following symbols into a single IOB

大家好,最近我在寫(xiě)一個(gè)數(shù)據(jù)儲(chǔ)存的VHDL代碼,當(dāng)我再給一個(gè)時(shí)鐘管腳分配位置時(shí),出現(xiàn)如下錯(cuò)誤,弄了好半天也沒(méi)弄明白,希望路過(guò)的高手能指點(diǎn)指點(diǎn),謝謝啦?。?!ERROR:Pack:1107 - Unable to combine the following symbols into a single IOB  ...…

查看全部問(wèn)答∨

求代寫(xiě)一個(gè)PIC C程序。有報(bào)酬

急求一個(gè)PIC C程序用來(lái)控制洗衣機(jī)的,有能力,有技術(shù),有自信的。。聯(lián)系QQ781689,報(bào)酬好商量.急!??!…

查看全部問(wèn)答∨

請(qǐng)教一個(gè)匯編指令在C語(yǔ)言中得寫(xiě)法,急!!!

本帖最后由 dontium 于 2015-1-23 13:22 編輯 WRITA        *(BL)     *(u16*)(0xd555)=0xaa代替嗎,如果可以得話,編譯器怎么知道是寫(xiě)到IO空間得呢,請(qǐng)大家指點(diǎn)一下,感激ing …

查看全部問(wèn)答∨

7S64 DEK開(kāi)發(fā)板

各位高手,大家好,有誰(shuí)用過(guò)7S64 DEK這個(gè)開(kāi)發(fā)板嗎?ARM芯片是AT91SAM7S64,現(xiàn)在在這個(gè)開(kāi)發(fā)板弄了一個(gè)LCD1602,但是就是不顯示,各位高手麻煩給提點(diǎn)建議,謝謝,我是個(gè)ARM新手?!?

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved