搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
代码艺术家
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
IntelliJ IDEA 4 新特性 之 On-the-Fly Code Analysis(动态代码分析)_on-the-fly code analysis怎么用
2
深度学习系列56:使用whisper进行语音转文字_faster-whisper加速
3
华为桌面云解决方案概述_解决方案概述和数据安全建议
4
cmd命令之Xcopy介绍_复制文件夹里所有文件到另一个文件夹操作方式
5
C++学习笔记——Eigen模块(用于矩阵运算)_c++ eigen
6
基于vue-simple-uploader的文件分片上传_vue-simple-uploader配置categorymap
7
洛谷B2095 白细胞计数
8
2021年中国企业直播行业发展回顾及未来预测分析[图]_直播间前五年收入预测
9
Hive映射Hbase_hive hbase 映射表
10
DOS 字符和符号_dos 通配符
当前位置:
article
> 正文
SPI四种模式区别_spi mode
作者:代码艺术家 | 2024-02-05 11:48:39
赞
踩
spi mode
SPI四种模式区别
spi四种模式SPI的相位(CPHA)和极性(CPOL)分别可以为0或1,对应的4种组合构成了SPI的4种模式(mode)
Mode 0 CPOL=0, CPHA=0
Mode 1 CPOL=0, CPHA=1
Mode 2 CPOL=1, CPHA=0
Mode 3 CPOL=1, CPHA=1
时钟极性CPOL: 即SPI空闲时,时钟信号SCLK的电平(1:空闲时高电平; 0:空闲时低电平)
时钟相位CPHA: 即SPI在SCLK第几个边沿开始采样(0:第一个边沿开始; 1:第二个边沿开始)
sd卡的spi常用的是mode 0 和mode 3,这两种模式的相同的地方是都在时钟上升沿采样传输数据,区别这两种方式的简单方法就是看空闲时,时钟的电平状态,低电平为mode 0 ,高电平为mode 3。
例如这个波形图
(注意红色框)
如果CPOL=0, CPHA=0 ,则miso数据是0x83(10000011)
如果CPOL=0, CPHA=1 ,则miso数据是0x07(00000111)
在用内核自带的linux-kernel/xlnx-4.0/Documentation/spi/spidev_test.c例子,读写内核的spidev.c设备的时候,
/spidev_test -r 69 -w 7
写入地址69寄存器,数值7
./spidev_test -r 69
读出地址69寄存器数值:0x83,以为程序代码有bug
./spidev_test -H -r 69
读出地址69寄存器数值:0x07,应该在SCLK第2个边沿开始采样(带H参数表示CPOL=0, CPHA=1),这才读对了。
在调试ad9631时,用默认spi mode读写总返回0x83,以为程序有问题,查查spi mode原理后,再对比波形图,才知道ad9631的mode=1
附我自己修改的程序:
应用spidev_test.c,内核驱动spidev.c,设备树devicetree
,
下载
spidev的移植,参考文章:
http://blog.csdn.net/yihui8/article/details/54142351
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/代码艺术家/article/detail/60604
推荐阅读
article
docker
desktop 运行带 --gpus all 参数容器报
:
Auto-detected ...
报错起因:执行
docker
运行容器命令:报错:failed to create task for
container
...
赞
踩
article
启动
docker
失败,
nvidia
-
container
-
cl
i:
initialization
er...
【代码】启动
docker
失败,
nvidia
-
container
-
cl
i:
initialization
error
: n...
赞
踩
article
windows wsl2
docker
+k8s+
cuda
容器
无法启动问题解决_auto-detect...
nvidia
-
docker
最古老的
容器
内
nvidia
gpu的调用是需要在镜像(或
容器
)中安装与宿主机
nvidia
显卡驱...
赞
踩
article
【
TensorFlow
】:
Eager
Mode
(
动态图
模式)
_
tensorflow
动态图
...
TensorFlow
的
Eager
模型,也可以看做是
动态图
模型。该模型下不需要先构造图,然后再使用Session.run(...
赞
踩
article
【工具使用】
STM32CubeMX
-
定时器
PWM
配置-实现呼吸灯
功能
_
stm32
cubemx
里面的...
定时器
,顾名思义,就是定时的
功能
,
定时器
在单片机中算是除GPIO外最基本的外设。在ST中,
定时器
分为几种,基础
定时器
,通...
赞
踩
article
初步学习
Protected
Mode
(
6
)_
ards
bios
ebx
...
克勤克俭用内存。如果我们用了1
6
MB的空间来存放页表,那么它映射了1
6
G的内存空间,而我们的物理内存不一定有那么大(外星...
赞
踩
article
8.
camera
调试日志_
af
_h
af
_
init
:
manual
lens
move mode: 0...
注: 1. 37m androidM/N/O 驱动及hal代码一样,可以公用 2. 37m 与37t 驱动代码一样,ha...
赞
踩
相关标签
docker
容器
运维
kubernetes
TensorFlow
动态图
eager
session
stm32
嵌入式硬件
单片机
android