void SPI1_SetSpeed(u8 SPI_BaudRatePrescaler)
时间:10-02
整理:3721RD
点击:
void SPI1_SetSpeed(u8 SPI_BaudRatePrescaler)
{
assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_BaudRatePrescaler));
SPI1->CR1&=0XFFC7;//??3-5??á?£?ó?à′éè??2¨ì??ê
SPI1->CR1|=SPI_BaudRatePrescaler; //éè??SPI1?ù?è
SPI_Cmd(SPI1,ENABLE); //ê1?üSPI1
}
有大神知道这里的assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_BaudRatePrescaler));是用来干什么的吗?
{
assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_BaudRatePrescaler));
SPI1->CR1&=0XFFC7;//??3-5??á?£?ó?à′éè??2¨ì??ê
SPI1->CR1|=SPI_BaudRatePrescaler; //éè??SPI1?ù?è
SPI_Cmd(SPI1,ENABLE); //ê1?üSPI1
}
有大神知道这里的assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_BaudRatePrescaler));是用来干什么的吗?
assert_param是一个宏定义,在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。这里应该是检测SPI_BaudRatePrescaler这个参数是否有效。具体可以上网搜搜。
SPI_BaudRatePrescaler是指的什么呢
typedef struct
{
uint16_t SPI_Direction;
uint16_t SPI_Mode;
uint16_t SPI_Data Size;
uint16_t SPI_CPOL;
uint16_t SPI_CPHA;
uint16_t SPI_NSS;
uint16_t SPI_Baud Rate Prescaler;
uint16_t SPI_First Bit;
uint16_t SPI_CRCPolynomial;
}SPI_Init Type Def;
是串口初始化的一个参数,SPI_Baud Rate Prescaler 就是设置 SPI 波特率预分频值也就是决定 SPI 的时钟的参数,从不分频道 256 分频 8 个可选值,这里应该就是验证这个参数是不是这八个可选值。
SPI初始化的参数
66666
