會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





請問CAN Initial 的問題
新會員
註冊日期:
2007/01/24 14:08
所屬群組:
註冊會員
文章: 8
等級: 1; EXP: 73
HP : 0 / 18
MP : 2 / 547
離線
您好,

最近在用18f4580做CAN 的功能,
可是在Initial的時候碰到一點問題

我嘗試過用了兩套lib
分別是 AN878 和 can18cxx8.c
結果都一樣

問題是當我在切換CAN mode的時候會針對
CANCON去設定
理論上來說(according to datasheet) CANSTAT會跟著改變
可是CANSTAT就是不會變 (cancon會變)

AN878的code更是直接跳過 canstat的檢查
雖然他這樣程式會跑
可是Message卻send不出去
我現在沒辦法知道是我其他的Code有問題
還是是因為Mode沒有真正切換過去的問題

請問這樣的問題要怎樣解決呢?

Thx

2008/06/02 16:39
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
新會員
註冊日期:
2016/03/19 16:26
所屬群組:
註冊會員
文章: 10
等級: 2; EXP: 0
HP : 0 / 25
MP : 3 / 74
離線
您好 我也發生同樣的問題 請問後來有解決的辦法嗎?

2016/03/19 16:28
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13877
等級: 72; EXP: 7
HP : 1066 / 1776
MP : 4625 / 67024
離線
有看過教育訓練 CAN202A 的範例練習嗎?

2016/03/19 17:42
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
新會員
註冊日期:
2016/03/19 16:26
所屬群組:
註冊會員
文章: 10
等級: 2; EXP: 0
HP : 0 / 25
MP : 3 / 74
離線
我目前是使用PIC18F4580插在麵包板上使用
(使用內部震盪器,外部沒有接震盪器)
開發環境是MPLAB 編譯器是C18

程式是CAN202A內的EX1
因為沒有用到LCD所以我把LCD的指令都拿掉了
之後程式一直卡在can18xx8.c
裡面的
while( ( CANSTAT & CAN_OP_MODE_BITS) != mode );
這行指令

我檢查CANSTAT發現他不會隨著CANCON改變才一直卡住

所以才想請問是哪邊出了問題

2016/03/19 23:05
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
新會員
註冊日期:
2016/03/19 16:26
所屬群組:
註冊會員
文章: 10
等級: 2; EXP: 0
HP : 0 / 25
MP : 3 / 74
離線
引用:

p16041164 寫道:
我目前是使用PIC18F4580插在麵包板上使用
(使用內部震盪器,外部沒有接震盪器)
開發環境是MPLAB 編譯器是C18

程式是CAN202A內的EX1
因為沒有用到LCD所以我把LCD的指令都拿掉了
之後程式一直卡在can18xx8.c
裡面的
while( ( CANSTAT & CAN_OP_MODE_BITS) != mode );
這行指令

我檢查CANSTAT發現他不會隨著CANCON改變才一直卡住

所以才想請問是哪邊出了問題


謝謝Ryang大的回覆
我後來發現在國外的網站也有人問同樣的問題
http://www.microchip.com/forums/m293167.aspx
問題在於 PIC18f4580 的CANTX CANRX沒有接transcevier
在切換模式的時候因為CANTX浮接 讓PIC18F4580誤以為資料未傳送完成 而一直在等待資料傳完 所以CANSTAT狀態才沒有改變
接上transceiver之後就沒有這個問題了

2016/03/20 22:14
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13877
等級: 72; EXP: 7
HP : 1066 / 1776
MP : 4625 / 67024
離線
接上 Transceiver (MCP2551) 之後,記得 CAN+ & CAN- 也要接個 220 ohm 的終端電阻以構成電流回路。還有測試 CAN 時也要接上賃一個 CAN node,這樣才不會造成沒有 ack 一直出現 Error Fram。

2016/03/21 11:33
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
初級會員
註冊日期:
2016/03/20 17:01
所屬群組:
註冊會員
文章: 34
等級: 4; EXP: 59
HP : 0 / 89
MP : 11 / 267
離線
想借問一下,如果我使用的是 PIC18F"4520" 在用 CAN_202A 的範例時,編譯會有錯誤,是哪邊需要修改?

2016/03/21 20:52
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13877
等級: 72; EXP: 7
HP : 1066 / 1776
MP : 4625 / 67024
離線
他没有 CAN 的週邊,所有很多暫存器會找不到定義。

2016/03/21 22:20
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
新會員
註冊日期:
2016/03/19 16:26
所屬群組:
註冊會員
文章: 10
等級: 2; EXP: 0
HP : 0 / 25
MP : 3 / 74
離線
引用:

Ryang 寫道:
接上 Transceiver (MCP2551) 之後,記得 CAN+ & CAN- 也要接個 220 ohm 的終端電阻以構成電流回路。還有測試 CAN 時也要接上賃一個 CAN node,這樣才不會造成沒有 ack 一直出現 Error Fram。


Ryang大 想請問終端電阻接120ohm跟220ohm有差別嗎?
因為demoboard上都是接120ohm的電阻來避免訊號在電纜的終端產生反射 而干擾訊號

2016/03/21 23:09
轉換PDF檔 列印


Re: 請問CAN Initial 的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13877
等級: 72; EXP: 7
HP : 1066 / 1776
MP : 4625 / 67024
離線
一般接終端電阻的接近端及最遠端,不可每個 node 都接,這樣會因並聯效應造成負載過重。
如果只有兩個 Node 120 或是220 都無所謂。可以用 (星) * 型的接法只要用一個電阻就可以了。

2016/03/22 12:06
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
線上教學影片
網頁捷徑
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088221 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project