OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7440|回复: 8

SPI例程中的CPOL与CPHA的疑惑

[复制链接]

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-10-8
在线时间
0 小时
发表于 2015-10-8 12:37:11 | 显示全部楼层 |阅读模式
5金钱
[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,那么应该是只有上升沿才能数据采样,那为什么会是上升或下降呢?

最佳答案

查看完整内容[请看2#楼]

1、注释只是单纯针对那一行,并非作者糊涂。 2、http://openedv.com/posts/list/48476.htm#277600 看这个帖子,我的回复。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
发表于 2015-10-8 12:37:12 | 显示全部楼层
1、注释只是单纯针对那一行,并非作者糊涂。

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


回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-10-8 12:37:12 | 显示全部楼层
注释不一定完全正确.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-10-8
在线时间
0 小时
 楼主| 发表于 2015-10-8 20:22:40 | 显示全部楼层
自己顶,自己顶
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-10-8
在线时间
0 小时
 楼主| 发表于 2015-10-8 20:22:52 | 显示全部楼层
继续顶,继续顶
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
发表于 2015-10-8 21:17:37 | 显示全部楼层
这样理解:
如果平时(即空闲状态)为高,“第一个跳变沿”只能是下降沿,那么第二个自然就是上升;
如果平时为低,则上述一切都相反了。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-10-8
在线时间
0 小时
 楼主| 发表于 2015-10-8 21:55:56 | 显示全部楼层
回复【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.根据这段话,难道要在通信时改变时钟的相位从而达到写的时候上升沿锁存,读的时候下降沿锁存吗?
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-10-8
在线时间
0 小时
 楼主| 发表于 2015-10-8 22:54:56 | 显示全部楼层
回复【6楼】xuande:
---------------------------------
感谢您的耐心,下次我会认真搜索再提问的。
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
发表于 2015-10-8 23:55:23 | 显示全部楼层
回复【8楼】FrostMonarch:
---------------------------------
你认真地问,总会有人认真答的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 09:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表