[問題] 關於SPI介面 (結合CAN BUS)

看板LinuxDev作者 (環島旅行ing)時間12年前 (2013/02/26 21:48), 編輯推噓2(2012)
留言14則, 5人參與, 最新討論串1/3 (看更多)
不知道有沒有前輩有遇過此問題 我用的是一顆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

02/27 09:55, , 1F
你的意思是write正常,但是read會失敗??
02/27 09:55, 1F

02/27 10:05, , 2F
是的 其實read在示波器看波形也是成功的 是SW讀取暫存器
02/27 10:05, 2F

02/27 10:06, , 3F
失敗. write有沒有成功也是要靠read讀出暫存器的值才知道
02/27 10:06, 3F

02/27 13:28, , 4F
那應該是跟spi無關. 有試過讀其它的register讀的到嘛?
02/27 13:28, 4F

02/27 14:36, , 5F
都讀不到...我在想是不是我哪邊沒設定好 但示波器有反應
02/27 14:36, 5F

02/27 14:37, , 6F
代表我讀寫的指令有送出去...真怪
02/27 14:37, 6F

02/27 19:16, , 7F
先在uboot寫測試程式,看看是不是在uboot也會
02/27 19:16, 7F

02/28 23:20, , 8F
SPI並沒有明確的錯誤檢查機制... write成功,只代表你的host
02/28 23:20, 8F

02/28 23:21, , 9F
正常... 但不代表命令順利送到了slave device...
02/28 23:21, 9F

02/28 23:22, , 10F
如果SOMI訊號也對... 那表示你slave也是正常的
02/28 23:22, 10F

02/28 23:23, , 11F
此時如果你軟體上(程式內)沒看到對應的值,我認為是程式問題
02/28 23:23, 11F

03/01 12:06, , 12F
WPC大 我跟你的想法一樣 情況也是這樣 謝謝我會繼續摸索
03/01 12:06, 12F

03/05 21:27, , 13F
有試著解讀示波器量到的read回應值是否與寫入的值相同嗎?
03/05 21:27, 13F

03/07 18:09, , 14F
我解掉了 我換kernel 3.8的driver就好了 謝謝各位囉
03/07 18:09, 14F
文章代碼(AID): #1HBBqf7U (LinuxDev)
文章代碼(AID): #1HBBqf7U (LinuxDev)