下面是原子哥SPI速度设置的代码,根据原子哥的SPI初始化,SPI设置为双线双向全双工,8位帧结构,数据传输从MSB位开始
但是设置成0XFFC对应的是单线双向模式,使用16位帧结构,先发送LSB啊,为什么这样设置还可以正常工作呢?求解释。。。。。。
寄存器详细介绍见附件图片
void SPI2_SetSpeed(u8 SPI_BaudRatePrescaler)
{
assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_BaudRatePrescaler));
SPI2->CR1&=0XFFC7;
SPI2->CR1|=SPI_BaudRatePrescaler;
SPI_Cmd(SPI2,ENABLE);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
SPI2->CR1|=SPI_BaudRatePrescaler;
下面这句就是设置波特率了
哦,这里是清空之前的设置。我看错了,不好意思
额,但是清除之前的设置之后,只是把速度修改了,并没有重新设置回来啊,我在程序中没找到重新设置回来的地方,还望给解释一下,程序竟然还能正常使用,我很纳闷,谢谢
我说的就是你们这里设置有问题啊
一周热门 更多>