會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





請問一下Can Bus問題
新會員
註冊日期:
11月29日 13:26:59
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 0 / 0
離線
請問各位先進,
我使用的晶片是dspic33ep128gs806,
現在使用的demo code是用dsPIC33EP128GS808 Development Board的demo code 改的,
lookback mode 與 normal mode皆可以正常運作,
但是我在程式裡找不到更改Ack的暫存器,
在資料手冊中也沒找到,
請問Ack也是跟CRC一樣自動產生的嗎?
還是我需要透過寫code去更改?
假設node A傳一筆資料且Ack為recessive,
node B收到後回傳Ack為dominant,
node A偵測到dominant 位元發生,
表示至少有一個node已正確地收到Message,
請問這個動作我是否要自己寫?
還是已經內建?
麻煩指教,謝謝

附加檔案:


zip dsPIC33EP128GS8XX_Eval_Board CAN Demo.zip 大小: 45.55 KB; 下載次數: 6

jpg  buffer.jpg (137.55 KB)
69342_5a1e4b6b400b9.jpg 1184X498 px

11月29日 13:55:27
轉換PDF檔 列印


Re: 請問一下Can Bus問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14184
等級: 72; EXP: 56
HP : 1073 / 1789
MP : 4728 / 71280
離線
Ack 是由傳送端送出 Hi 的準位,只要有任何一個 Node 收到完整的封包就會將 Ack 的信號拉成 Low (Dominat 的狀態。 所以傳出去的訊號只要有 Node 拉 Ack 到 Low,傳送者就認為這筆資料就算傳送成功。

CRC 是由傳送當自己產生的,接受端它會自動去檢查這個 CRC 是否正確。 這個部分會由 CAN Engine 自動完成的。

11月30日 10:14:39
轉換PDF檔 列印


Re: 請問一下Can Bus問題
新會員
註冊日期:
11月29日 13:26:59
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 0 / 0
離線
謝謝Ryang 大的解說,
但是目前我不知是否要自己寫code去完成這個動作?
還是底層已經寫完了?
假如需要自己寫code,請問ack要如何修改?
謝謝

11月30日 11:12:17

johnsonn3 於 2017年11月30日 11:30:14
轉換PDF檔 列印


Re: 請問一下Can Bus問題
資深會員
註冊日期:
2004/07/23 16:25
所屬群組:
註冊會員
文章: 1178
等級: 29; EXP: 96
HP : 0 / 724
MP : 392 / 28364
離線
你要做的動作就是 將 id , data 寫進register

enable tx ,can bus engine 就會自動完成傳送~~

ack 是協定,由硬體做掉了。

11月30日 13:19:41
轉換PDF檔 列印


Re: 請問一下Can Bus問題
新會員
註冊日期:
11月29日 13:26:59
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 0 / 0
離線
了解了,謝謝各位大大

11月30日 13:46:09
轉換PDF檔 列印






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

[進階搜尋]


搜尋
Microchip連結

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