<small id='oWkx'></small> <noframes id='Mxhewk1f5z'>

  • <tfoot id='WpXr'></tfoot>

      <legend id='SFjzG5T4'><style id='K8vkD6X9ht'><dir id='xEYu'><q id='6CGRp2L'></q></dir></style></legend>
      <i id='GvYeC'><tr id='0NUTObt'><dt id='ZH4dSQeh0q'><q id='aV3H2YpP'><span id='3aSJXh'><b id='iqS8'><form id='SHhUQy'><ins id='5F2Js1ufVZ'></ins><ul id='strkPh'></ul><sub id='dIFjOy'></sub></form><legend id='it9p27hGFN'></legend><bdo id='ORX1J'><pre id='oIO3Y'><center id='BRFgduefZb'></center></pre></bdo></b><th id='jKO70'></th></span></q></dt></tr></i><div id='PMgVZikt'><tfoot id='hYwdt42G'></tfoot><dl id='WhkDEntH'><fieldset id='5zLFAE1iKw'></fieldset></dl></div>

          <bdo id='ZIo5wuM6q'></bdo><ul id='DUkGP'></ul>

          1. <li id='Yqixtj0mZf'></li>
            登陆

            1号站平台开户-关于SPI协议的详解和完成

            admin 2019-05-18 268人围观 ,发现0个评论

            SPI是一种高速的、全双工、同步通讯总线,而且只占用四根线,常用来和FLASH、数字信号处理器等通讯。SPI通讯要比I2C简略,它以主从方法作业,这种形式一般有一个主设备和一个或多个从设备,一般也只需求四根线,别离都是 CS(片选使能)、SCLK(时钟信号)、MOSI(主机输出从机输入)、MISO(主机输入从机输出)

            SPI运用也是十分灵敏的也可以运用2根线或3根线进行通讯。列如当主机只给从机发送指令,而从机福需求回复数据给主机的时分,就可以不要MISO,有时当变片选信号固定为有用电平常CS(片选使能)就可以不要,这样就可以完1号站平台开户-关于SPI协议的详解和完成成2根线也可通讯,3根线也可以通讯了。一般规范的仍是4根线进行SPI通讯。

            SPI接口有四种不同的数据通讯时序,取决于CPOL和CPHL这两位的组合。

            CPOL:Clock Polarity 是时钟的极性。,什么是时钟极性,在通讯的过程中分为闲暇时间和通讯时间,假如在闲暇时间为高电平那么CPOL=1,假如闲暇时间为低电平那么CPOL=0;

            CPHA: Clock Phase 是时钟的相位,时钟相位(CPHA)可以装备用于挑选两种不同的传输协议之一进行数据传输。

            当CPHA=0 表明数据的采样是在一个时钟周期的第一个沿上(至所以上升沿或下降沿由CPOL决议),那么数据的输出就是在第二个沿上了。

            当CPHA=1表明数据的采样是在一个时钟周期的第二个沿上(至所以上升沿或下降沿由CPOL决议),那么数据的输出就是在第一个沿上了。

            如下图:1号站平台开户-关于SPI协议的详解和完成

            CPOL=0,CPH1号站平台开户-关于SPI协议的详解和完成A=0,闲暇状态下SCK为低电平,数据收集是在第一个沿上(SCK由低电平变为高电平)所以数据收集是在上升沿,数据的输出是在第二个沿上的下降沿。

            CPOL=1,CPHA=0,闲暇状态下SCK为高电平,数据收集是在第一个沿上(SCK由高电平变1号站平台开户-关于SPI协议的详解和完成为低电平)所以数据收集是鄙人将沿,数据的输出是在第二个沿上的上升沿。

            CPOL=0,CPHA=1,闲暇状态下SCK为低电平,数据收集是在第二个沿上(SCK由高电平变为低电平)所以数据收集是鄙人将沿,数据的输出是在第一个沿上的上升沿。

            CPOL=1,CPHA=1,闲暇状态下SCK为高电平,数据收集是在第二个沿上(SCK由低电平变为高电平)所以数据收集是在上1号站平台开户-关于SPI协议的详解和完成升沿,数据的输出是在第一个沿上的下降沿。

            下面咱们以51单片机为例编写CPOL=1,CPHA=1时相应的代码

            Unsigned char SPI_ReadWriteByte(unsigned char Dat)

            {

            unsigned char temp=0;

            unsigned char i=0;

            SPI_SCK =1;//闲暇高电平

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

            {

            if((Dat&0X80))

            MOSI_OUT=1; //输出高电平1

            else

            MOSI_OUT=0; //输出低电平0

            Dat<<=1; //数据左移一位

            SPI_SCK =0; //第一个下降沿输出数据

            Temp<<=1; //数据左移一位

            if(MISO)temp++; //收集从设备回来来的数据,然后拉高时钟

            SPI_SCK =1; 第二个上升沿收集数据

            }

            SPI_SCK=1;//闲暇高电平

            return temp;

            }

            写数据首先要片选使能从设备然后给从设备发送数据,等数据传输完成后,撤销片选

            Void SPI_Write_Data(unsigned char dat)

            {

            Unsigned char value=0;

            SPI_CS=0;

            value=SPI_ReadWriteByte(dat);//主设备向从设备发送数据,哪些国家过春节并回来从设备发送过来的数据。

            SPI_CS=1;

            }

            喜爱的朋友支撑重视和转发。

            请关注微信公众号
            微信二维码
            不容错过
            Powered By Z-BlogPHP