1、spi寄存器中SSOE具体是什么意思?
a、英文文档里说:SS output enable. 是否这个位设置为1就表示,芯片内不的nss信号就连接到了芯片的nss引脚上了?当该位为0,是否表示,芯片内部的nss引号跟芯片的引脚断开?
b、如果(a)成立,那要使用芯片的nss引脚用作spi引脚的nss,是否需要把引脚设置成复用功能?当芯片的引脚如果不设置成复用功能,是否是:即使SSOE设置成1,芯片引脚设置成普通io口功能时,普通io口的功能能正常使用?
c、一般什么情况下的使用设置SSOE=1,什么情况下的使用设置SSOE=0?
2、设置主模式除了置位MSTR和SPE,也要置位NSS。英文文档是:The MSTR and SPE bits must be set (they remain set only if the NSS pin is connected to a high-level signal). 但我实际应用中,设置成主模式软件模式下,即MSTR=1,SSM=1。但SSI=0。这样spi还能正常的把数据发送给从模式的器件上。请问这是为什么?
3、主模式下的接收。文档说在SPE=1后就开始接收数据。在英文文档里的spi中的Start sequence in master mode中的两种情况中:
情况1:BIDIMODE=0 and RXONLY=1中说,The sequence begins as soon as SPE=1。
情况2:BIDIMODE=1 and BIDIOE=0中说,The sequence begins as soon as SPE=1 and BIDIOE=0.
但我看到在读的时候,都是先写一字节来产生时钟,然后在来读取数据。
a、为什么是这样?是不是我哪些地方理解的不到位?
b、如果读都要先写来产生时钟,那用DMA来读数据的时候,dma是否也会自发的先写数据来产生始终而后才获取数据?
|