注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小哲

从今以后,你会是所有幸福的理由!

 
 
 

日志

 
 

STM32 SPI(二)  

2012-03-11 14:44:21|  分类: ARM7-STM32 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

SPI_InitTypeDef  SPI_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2,ENABLE);

 
 SPI_Cmd(SPI2, DISABLE);            //必须先禁能,才能改变MODE
   SPI_InitStructure.SPI_Direction =SPI_Direction_2Lines_FullDuplex;  //两线全双工
   SPI_InitStructure.SPI_Mode =SPI_Mode_Master;       //主
   SPI_InitStructure.SPI_DataSize =SPI_DataSize_8b;      //8位
   SPI_InitStructure.SPI_CPOL =SPI_CPOL_High;        //CPOL=1时钟悬空高
   SPI_InitStructure.SPI_CPHA =SPI_CPHA_1Edge;       //CPHA=1 数据捕获第2个
   SPI_InitStructure.SPI_NSS =SPI_NSS_Soft;        //软件NSS
   SPI_InitStructure.SPI_BaudRatePrescaler =SPI_BaudRatePrescaler_2;  //2分频
   SPI_InitStructure.SPI_FirstBit =SPI_FirstBit_MSB;      //高位在前
   SPI_InitStructure.SPI_CRCPolynomial =7;        //CRC7
   
 SPI_Init(SPI2,&SPI_InitStructure);
 SPI_Cmd(SPI2, ENABLE);

//spi的配置结束了可以使用了。

 

也可用 函数SPI_StructInit 把SPI_InitStruct中的每一个参数按缺省值填入

STM32 SPI(二) - liyunfengxiaozhe - 小哲

 

STM32 SPI(二) - liyunfengxiaozhe - 小哲

 

_____________________________________________________________________________________

 

发送缓冲器空闲标志(TXE)【3.0 SPI_I2S_FLAG_TXE】
此标志为’1’时表明发送缓冲器为空,可以写下一个待发送的数据进入缓冲器中。当写入SPI_DR时,TXE标志被清除。
接收缓冲器非空(RXNE)【3.0 SPI_I2S_FLAG_RXNE】
此标志为’1’时表明在接收缓冲器中包含有效的接收数据。读SPI数据寄存器可以清除此标志。

 

注意在2.0的库中函数

SPI_SendData         SPI_ReceiveData         SPI_GetFlagStatus       等在3.0的库中 变为

SPI_I2S_SendData  SPI_I2S_ReceiveData  SPI_I2S_GetFlagStatus

 

写一个发送/接受函数

 

static u8 SPIByte(u8 byte)

{
 
 while((SPI2->SR &SPI_I2S_FLAG_TXE)==RESET);
 //while((SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE))==RESET);
  
 SPI2->DR = byte;
 //SPI_I2S_SendData(SPI2,byte);
 
 while((SPI2->SR &SPI_I2S_FLAG_RXNE)==RESET);

//while((SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_RXNE))==RESET);
 return(SPI2->DR);

 //returnSPI_I2S_ReceiveData(SPI2);读寄存器用硬件清除标志位。
 //SPI_I2S_ClearFlag(SPI2,SPI_I2S_FLAG_RXNE) ;直接软件清除标志位。
}

  评论这张
 
阅读(1666)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017