函数名称:void SPIx_SetSpeed(u8 SpeedSet)
功能描述:SPI 速度设置函数
全局变量:无
参数说明:SpeedSet
返回值: 无
说明:
SpeedSet:
SPI_SPEED_2 2分频 (SPI 36M@sys 72M)
SPI_SPEED_8 8分频 (SPI 9M@sys 72M)
SPI_SPEED_16 16分频 (SPI 4.5M@sys 72M)
SPI_SPEED_256 256分频 (SPI 281.25K@sys 72M)
*********************************************************/
void SPIx_SetSpeed(u8 SpeedSet)
{
SPI1->CR1&=0XFFC7;//Fsck=Fcpu/256
switch(SpeedSet)
{
case SPI_SPEED_2://二分频
SPI1->CR1|=0<<3;//Fsck=Fpclk/2=36Mhz
break;
case SPI_SPEED_4://四分频
SPI1->CR1|=1<<3;//Fsck=Fpclk/4=18Mhz
break;
case SPI_SPEED_8://八分频
SPI1->CR1|=2<<3;//Fsck=Fpclk/8=9Mhz
break;
case SPI_SPEED_16://十六分频
SPI1->CR1|=3<<3;//Fsck=Fpclk/16=4.5Mhz
break;
case SPI_SPEED_256://256分频
SPI1->CR1|=7<<3;//Fsck=Fpclk/16=281.25Khz
break;
}
SPI1->CR1|=1<<6; //SPI设备使能
}
/************************************
原子哥 红色部分 我对着寄存器查了 BR[2:0]不是000 fplck/2 么 怎么你的注释是除以256?还是我的概念混淆了?
|