|
发表于 2018-9-29 10:50:51
36526 浏览 1 回复
itop-4412全能版的SPI2的在SPI_MODE_3模式下,读取数据与发送数据bit流错位
本帖最后由 hpu99 于 2018-9-29 10:52 编辑
硬件环境:iTop-4412全能版
软件环境:linux-3.0.15
调试SPI2驱动:
将spi2控制器的驱动编译到内核中,在dev目录下会产生一个spidev2.0的设备节点,
将spi2的MISO和MOSI短接,
使用Documentatio/spi/spidev_test.c的驱动进行对spi进行调试,产生的结果如下:
1. 测试SPI_MODE_3测试结果错误,读取到的数据与发送的数据对应的数据二进制正好
错一个bit位(形如:发送数据:10101010 10110010,接收数据:11010101 01011001),运行结果如下:
root@android:/data # ./spidev_test -D /dev/spidev2.0 -H -O
open
set spi mode
get spi mode
set spi bits
get spi bits
set spi speed
get spi speed
spi mode: 3
bits per word: 8
max speed: 500000 Hz (500 KHz)
SPI_IOC_MESSAGE(1) ---> 0x40206b00
------------- send --------------
FF FF FF FF FF FF 40
00 00 00 00 95 FF FF
FF FF FF FF FF FF FF
FF FF FF FF FF FF FF
FF FF DE AD BE EF BA
AD F0 0D
------------- receive --------------
FF FF FF FF FF FF A0
00 00 00 00 4A FF FF
FF FF FF FF FF FF FF
FF FF FF FF FF FF FF
FF FF EF 56 DF 77 DD
56 F8 06
2. 测试SPI_MODE_0/SPI_MODE_1/SPI_MODE_2测试结果正确,运行结果如下:
root@android:/data # ./spidev_test -D /dev/spidev2.0
open
set spi mode
get spi mode
set spi bits
get spi bits
set spi speed
get spi speed
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)
SPI_IOC_MESSAGE(1) ---> 0x40206b00
------------- send --------------
FF FF FF FF FF FF 40
00 00 00 00 95 FF FF
FF FF FF FF FF FF FF
FF FF FF FF FF FF FF
FF FF DE AD BE EF BA
AD F0 0D
------------- receive --------------
FF FF FF FF FF FF A0
00 00 00 00 4A FF FF
FF FF FF FF FF FF FF
FF FF FF FF FF FF FF
FF FF EF 56 DF 77 DD
56 F8 06
|
|
|
|
|
|
|
|
发表于 2019-11-13 08:43:01
你好!
我现在发现了和你一样的问题,请问你后来解决了这个问题了吗?
如果方便的话,我们可以微信联系。
13795155126 |
|
|
|
|
|
|
登录或注册
扫一扫关注迅为公众号
|