内容简介:最近需要用树莓派首先是打开树莓派在树莓派
最近需要用树莓派 2B
自带的 SPI
接口调试 CYPRESS
的 FM25W256-GTR
芯片,这里记录一下整个的调试过程。
首先是打开树莓派 2B
自带的 SPI
接口,默认情况下,这个接口是关闭的。
在树莓派 2B
系统的 Shell
中执行
$ sudo raspi-config
然后一步一步,按照下图所示的操作
完成后重启树莓派 2B
。
管脚接线参考 树莓派2B GPIO针脚定义 中的定义,连接对应的管脚。树莓派的管脚 19
( GPIO10
-> SPI_MOSI
), 21
( GPIO9
-> SPI_MISO
), 23
( GPIO11
-> SPI_CLK
)构成了一个 SPI
接口,片选信号使用 GPIO
控制。
如果不使用自动的片选信号,则直接连接到地线管脚 25
。
如果使用片选信号,则可选管脚为: 24
( GPIO08
-> SPI_CE0_N
), 26
( GPIO9
-> SPI_CE1_N
)。下面的代码初始化第一个 SPI
,因此需要连接管脚 24
( GPIO08
-> SPI_CE0_N
)。
调试代码如下:
import spidev spi = spidev.SpiDev() spi.open(0, 0) spi.max_speed_hz = 1*1024*1024 FM25W256_CMD_READ = 3 FM25W256_CMD_WRITE = 2 FM25W256_CMD_WRITE_EN = 6 def readByte(addr): msb = addr >> 8 lsb = addr & 0xFF # if read n bytes we need write n bytes useless values # val = spi.xfer2([FM25W256_CMD_READ,msb,lsb,0x00,0x00]) read two bytes val = spi.xfer2([FM25W256_CMD_READ,msb,lsb,0x00]) return val[3:] def writeByte(addr,val): msb = addr >> 8 lsb = addr & 0xFF spi.xfer2([FM25W256_CMD_WRITE_EN]) spi.xfer2([FM25W256_CMD_WRITE,msb,lsb,val]) writeByte(0,0x55) byte = readByte(0) print('%#x'%byte[0])
SpiDev
文档
FM25W256-GTR
文档
参考链接
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- [树莓派]树莓派的入门教程
- 「玩转树莓派」树莓派 3B+ 安装 OpenCv
- 「玩转树莓派」树莓派 3B+ 查询本机IP
- 「玩转树莓派」树莓派 3B+ 配置静态IP
- 「玩转树莓派」树莓派 3B+ 配置无线WiFi
- 云中树莓派(3):通过 AWS IoT 控制树莓派上的 Led
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
高效程序员的45个习惯
Venkat Subramaniam、Andy Hunt / 钱安川、郑柯 / 人民邮电出版社 / 2010-01 / 35.00元
“书中‘切身感受’的内容非常有价值——通过它我们可以做到学有所思,思有所悟,悟有所行。” ——Nathaniel T. Schutta,《Ajax基础教程》作者 “此书通过常理和经验,阐述了为什么你应该在项目中使用敏捷方法。最难得的是,这些行之有效的实战经验,竟然从一本书中得到了。” ——Matthew Johnson,软件工程师 十年来,软件行业发生了翻天覆地的变化。敏捷......一起来看看 《高效程序员的45个习惯》 这本书的介绍吧!