Re: 請問使用 CAN 的 Function 為何會 Reset?
|
||||
---|---|---|---|---|
版主
|
很辛苦ㄟ! 你應該沒有用 ICD2 幫你 Debug 吧! 還是只把 ICD2 拿來當燒錄器。
因為使用 ICD2 除錯時一定會要求把 WD Timer 關掉的,否則無法除錯。
發表於: 2008/7/16 9:38
|
|||
|
Re: 請問使用 CAN 的 Function 為何會 Reset?
|
||||
---|---|---|---|---|
高級會員
|
感謝版主的回覆幫忙!!
果然是 Watch Dog Timer 的問題!! 關掉就 OK 了!!
發表於: 2008/7/15 16:48
|
|||
|
Re: 請問使用 CAN 的 Function 為何會 Reset?
|
||||
---|---|---|---|---|
版主
|
最有可能的是 Watch-Dog Timer 沒有關閉,可以在 Configuration Bits 直接關閉此功能。
還有只有一塊 CAN node 要怎樣玩? Message 傳送出去後沒有node 回 ACK,128 次後就會進到 Error Passive,錯誤超過 255 次就會進入 Bus Off Mode
發表於: 2008/7/15 14:39
|
|||
|
Re: 請問使用 CAN 的 Function 為何會 Reset?
|
||||
---|---|---|---|---|
高級會員
|
參照:
請問要怎麼檢查? 我的程式中沒有設定到 Reset, 實驗板- APP023 x1 , APP023-1 x8
發表於: 2008/7/15 14:18
|
|||
|
Re: 請問使用 CAN 的 Function 為何會 Reset?
|
||||
---|---|---|---|---|
資深會員
|
程式開頭檢查一下是 wdt reset , power on reset , or mclr reset 就知道掛掉的原因。
我猜你應該只有一張板子吧?
發表於: 2008/7/15 8:23
|
|||
|
請問使用 CAN 的 Function 為何會 Reset?
|
||||
---|---|---|---|---|
高級會員
|
我用的是 APP023 + PIC 18F8680
CAN 的 Code 是CAN202 Workshop 的範例,如下: CANInitialize( 2,10,6,6,3, CAN_CONFIG_LINE_FILTER_OFF & CAN_CONFIG_SAMPLE_ONCE & CAN_CONFIG_VALID_STD_MSG & CAN_CONFIG_PHSEG2_PRG_ON ) ; CANSetOperationMode(CAN_OP_MODE_CONFIG) ; CANSetMask(CAN_MASK_B1, RXB0_MASK, CAN_CONFIG_STD_MSG ) ; CANSetMask(CAN_MASK_B2, RXB1_MASK, CAN_CONFIG_STD_MSG ) ; CANSetFilter(CAN_FILTER_B1_F1, RX_Filter0 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B1_F2, RX_Filter1 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F1,RX_Filter2 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F2,RX_Filter3 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F3,RX_Filter4 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F4, RX_Filter5 , CAN_CONFIG_STD_MSG) ; CANSetOperationMode(CAN_OP_MODE_LOOP) ; .................. 一開始都很正常的傳送,但當傳送了幾百筆資料後就會讓 PIC 18F8680 Reset!! 請問為何會這樣呢!!
發表於: 2008/7/14 23:15
|
|||
|