作者onlywig (环岛旅行ing)
看板LinuxDev
标题[问题] 关於SPI介面 (结合CAN BUS)
时间Tue Feb 26 21:48:22 2013
不知道有没有前辈有遇过此问题
我用的是一颗CAN BUS micro controller叫mcp2515
KERNEL有提供driver
是用SPI去控制的..
我的重点在於我在po driver的过程中
我的CPU一直读不到SOMI传回来的值..
但我下write指令挂示波器看 CLK CS SIMO SOMI都正常动作的
但暂存器却读不到...请问前辈我该往哪个方向去解决呢 因为卡很久
现在能确定的是
1.HW没有问题
2. 接脚都有设enable了
3.driver在initial时对暂存器做读写执行reset的动作
但写完之後马上读取就读不到..(示波器显示正常)
我需要一个方向 因为刚涉入driver领域不久
一直乱试感觉只会浪费时间 谢谢各位前辈了...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.227.29.99
1F:→ alongalone:你的意思是write正常,但是read会失败?? 02/27 09:55
2F:→ onlywig:是的 其实read在示波器看波形也是成功的 是SW读取暂存器 02/27 10:05
3F:→ onlywig:失败. write有没有成功也是要靠read读出暂存器的值才知道 02/27 10:06
4F:→ alongalone:那应该是跟spi无关. 有试过读其它的register读的到嘛? 02/27 13:28
5F:→ onlywig:都读不到...我在想是不是我哪边没设定好 但示波器有反应 02/27 14:36
6F:→ onlywig:代表我读写的指令有送出去...真怪 02/27 14:37
7F:推 askacis:先在uboot写测试程式,看看是不是在uboot也会 02/27 19:16
8F:→ WPC001:SPI并没有明确的错误检查机制... write成功,只代表你的host 02/28 23:20
9F:→ WPC001:正常... 但不代表命令顺利送到了slave device... 02/28 23:21
10F:→ WPC001:如果SOMI讯号也对... 那表示你slave也是正常的 02/28 23:22
11F:→ WPC001:此时如果你软体上(程式内)没看到对应的值,我认为是程式问题 02/28 23:23
12F:→ onlywig:WPC大 我跟你的想法一样 情况也是这样 谢谢我会继续摸索 03/01 12:06
13F:推 bdvstg:有试着解读示波器量到的read回应值是否与写入的值相同吗? 03/05 21:27
14F:→ onlywig:我解掉了 我换kernel 3.8的driver就好了 谢谢各位罗 03/07 18:09