void SPI1_SetSpeed(u8 SPI_BaudRatePrescaler)

2019-07-16 08:16发布

void SPI1_SetSpeed(u8 SPI_BaudRatePrescaler)
{
  assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_BaudRatePrescaler));
        SPI1->CR1&=0XFFC7;//λ3-5ÇåÁ㣬ÓÃÀ´ÉèÖò¨ÌØÂÊ
        SPI1->CR1|=SPI_BaudRatePrescaler;        //ÉèÖÃSPI1ËÙ¶È
        SPI_Cmd(SPI1,ENABLE); //ʹÄÜSPI1
}

有大神知道这里的assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_BaudRatePrescaler));是用来干什么的吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
来复无言去不闻
1楼-- · 2019-07-16 14:15
 精彩回答 2  元偷偷看……
满满长路
2楼-- · 2019-07-16 17:52
来复无言去不闻 发表于 2017-3-18 10:29
assert_param是一个宏定义,在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。这里应该是检测SPI_BaudRatePrescaler这个参数是否有效。具体可以上网搜搜。

SPI_BaudRatePrescaler是指的什么呢
来复无言去不闻
3楼-- · 2019-07-16 23:35
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 个可选值,这里应该就是验证这个参数是不是这八个可选值。
来复无言去不闻
4楼-- · 2019-07-17 02:32
来复无言去不闻 发表于 2017-3-24 19:37
typedef struct
{
   uint16_t SPI_Direction;

SPI初始化的参数

一周热门 更多>