搜索
查看
编辑修改
首页
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
Spark资源配置(核数与内存)_如何在spark监控页面查看任务占用的内存和cpu
2
stm32学习----正电原子精英板控制电机正反转_stm32控制电机正反转
3
Ubuntu22.04.1 安装中文输入法_ubuntu22.04 pinyin
4
Chirp Scaling SAR成像算法(CS算法)
5
通过js下载文件到本地的方法a标签_js 文件 下载到本地
6
win11配置pytorch过程_win11 rtx3070ti cuda11.3 配置pytorch教程
7
102_VScode连接远程服务器进行代码调试_vscode连接服务器运行代码
8
Dockerfile详解及优化技巧_dockerfile的优化
9
Vue入门之快速上手
10
macOS - 搭建本地服务器_macos搭建服务器
当前位置:
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