SPI例程中的CPOL与CPHA的疑惑

2019-07-21 01:28发布

[mw_shl_code=c,true]SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //串行同步时钟的空闲状态为高电平 SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;     //串行同步时钟的第二个跳变沿(上升或下降)数据被采样 [/mw_shl_code]     我对这里的第二个注释“上升或下降”感到疑惑,因为数据手册上面是这样写的:
    如果将 CPHA(时钟相位)位置 1,则 SCK 引脚上的第二个边沿(如果复位 CPOL 位,则
为下降沿;如果将 CPOL 位置 1,则为上升沿)对 MSBit 采样。即,在第二个时钟边沿锁存
数据。如果复位 CPHA 位,则 SCK 引脚上的第一个边沿(如果将 CPOL 位置 1,则为下降
沿;如果复位 CPOL 位,则为上升沿)对 MSBit 采样。即,在第一个时钟边沿锁存数据。
    CPOL已经选定了,根据这里例程的配置CPOL=1,那么应该是只有上升沿才能数据采样,那为什么会是上升或下降呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
xuande
1楼-- · 2019-07-21 06:45
1、注释只是单纯针对那一行,并非作者糊涂。

2、http://openedv.com/posts/list/48476.htm#277600
看这个帖子,我的回复。


正点原子
2楼-- · 2019-07-21 12:43
注释不一定完全正确.
FrostMonarch
3楼-- · 2019-07-21 17:45
 精彩回答 2  元偷偷看……
FrostMonarch
4楼-- · 2019-07-21 23:12
继续顶,继续顶
xuande
5楼-- · 2019-07-22 02:27
 精彩回答 2  元偷偷看……
FrostMonarch
6楼-- · 2019-07-22 05:27
回复【4楼】xuande:
---------------------------------
老师您好,您的回答我是清楚的,只不过在第二行代码注释那里写着“上升或下降”,而不是上升沿(平时为高,选择了第二个边沿)所以我对这个有点疑惑,最后我还有一个问题,根据spi flash芯片W25Q128的数据手册,Standard SPI instructions
use the DI input pin to serially write instructions, addresses or data to the device on the rising edge of
CLK. The DO output pin is used to read data or status from the device on the falling edge of CLK.根据这段话,难道要在通信时改变时钟的相位从而达到写的时候上升沿锁存,读的时候下降沿锁存吗?

一周热门 更多>