會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





pic18F66k80 ECAN應用
初級會員
註冊日期:
2015/10/14 09:57
所屬群組:
註冊會員
文章: 33
等級: 4; EXP: 50
HP : 0 / 87
MP : 11 / 985
離線
pic18F66k80 CAN設定後,在CAN Bus上沒有看到訊號。

MCU輸出的地方用示波器量測波形,(供5V)上電後維持5V電壓。

請問一下設定有錯誤嗎?

void InitECAN(void)
{
// Enter CAN module into config mode
CANCON = 0x80; //REQOP<2:0>=100
while(!(CANSTATbits.OPMODE ==0x04));

// Enter CAN module into Mode 0
ECANCON = 0x00;

// Initialize CAN Timing
// 16Mhz 250 Kbps
BRGCON1 = ECAN_SJW << 6;
BRGCON1 |= ECAN_BRP; //BRGCON1 = 0x84; //1000 0100

BRGCON2 = ECAN_PHSEG1 << 3;
BRGCON2 |= ECAN_PROPSEG; //BRGCON2 = 0x19; //0001 1001

BRGCON3 = ECAN_PHSEG2; //BRGCON3 = 0x03; //0000 0011

// Initialize Receive Masks
// The first mask is used that accepts all SIDs and no EIDs
RXM0EIDH = 0x00; //
RXM0EIDL = 0x00;
RXM0SIDH = 0xFF; // Standard ID FILTER
RXM0SIDL = 0xE0;

// The second mask is used to ignore all SIDs and EIDs
RXM1EIDH = 0x00; // 0's for EID and SID
RXM1EIDL = 0x00;
RXM1SIDH = 0xFF;
RXM1SIDL = 0xE0;

// Enable Filters
// Only using two filters
RXFCON0 = 0x03; //Disable all
RXFCON1 = 0x00; //Disable all

// Initialize Receive Filters
// Filter 0 = 0x196
// Filter 1 = 0x19E

RXF0EIDH = 0x00;
RXF0EIDL = 0x00;
RXF0SIDH = 0x32;
RXF0SIDL = 0xC0;

RXF2EIDH = 0x00;
RXF2EIDL = 0x00;
RXF2SIDH = 0x33;
RXF2SIDL = 0xC0;


// Enter CAN module into normal mode
CANCON = 0x00;
while(CANSTATbits.OPMODE==0x00);

// Set Receive Mode for bufferns
RXB0CON = 0x00;
RXB1CON = 0x00;

}

3月22日 14:16:53
轉換PDF檔 列印


Re: pic18F66k80 ECAN應用
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14805
等級: 73; EXP: 53
HP : 1087 / 1813
MP : 4935 / 81106
離線
抱歉,我沒有電路板可以測試。

之前,和先生有邊了一些 ECAN 的教材,使用 PIC18FxxK80 的元件。你可以參考一下 CAN202B 及 APP044 CAN Moniter 的教材及範例程式。

教育訓練光碟二:
http://www.microchip.com.tw/Data_CD/eLearning/index.htm

附加檔案:



jpg  擷取.JPG (81.75 KB)
16_5c98710b7f21c.jpg 1080X544 px

3月25日 14:11:23
轉換PDF檔 列印


Re: pic18F66k80 ECAN應用
初級會員
註冊日期:
2015/10/14 09:57
所屬群組:
註冊會員
文章: 33
等級: 4; EXP: 50
HP : 0 / 87
MP : 11 / 985
離線
RB2/CANTX/CTED1/INT2 15
RB3/CANRX/CTED2/INT3 16
請問 預設腳位 要如何設定 成下面另一組使用
RE4/CANRX 27
RE5/CANTX 24

查看文件

CONFIG3H : bit 0 CANMX需設定為:0

但是使用MCC產生config後

// CONFIG3H
#pragma config CANMX = PORTE // ECAN Mux bit->ECAN TX and RX pins are located on RE5 and RE4, respectively
#pragma config T0CKMX = PORTB // Timer0 Clock Input Mux bit->Timer0 gets its clock input from the RB5/T0CKI pin on 64-pin packages
#pragma config T3CKMX = PORTG // Timer3 Clock Input Mux bit->Timer3 gets its clock input from the RG2/T3CKI pin on 64-pin packages
#pragma config MSSPMSK = MSK7 // MSSP address masking->7 Bit address masking mode
#pragma config MCLRE = ON // Master Clear Enable->MCLR Enabled, RE3 Disabled


放入專案編輯會出現錯誤。
error: (1389) attempt to reprogram configuration setting "CANMX" with PORTE (is PORTB)

不清楚是哪裡的問題。

3月25日 17:46:38
轉換PDF檔 列印


Re: pic18F66k80 ECAN應用
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14805
等級: 73; EXP: 53
HP : 1087 / 1813
MP : 4935 / 81106
離線
將 Configuration Bits 的設定項 CANMX = PORTE 改成使用 PORTB 看看。

3月26日 10:55:25
轉換PDF檔 列印


Re: pic18F66k80 ECAN應用
初級會員
註冊日期:
2015/10/14 09:57
所屬群組:
註冊會員
文章: 33
等級: 4; EXP: 50
HP : 0 / 87
MP : 11 / 985
離線
error: (1389) attempt to reprogram configuration setting "CANMX" with PORTE (is PORTB)

上面error是發現是重複定義導致的問題
========================================================
Configuration Bits 的設定項 CANMX = PORTB
是使用預設的腳位RB2/RB3

Configuration Bits 的設定項 CANMX = PORTE
因為硬體設計關係需要調整使用RE4/RE5
========================================================
但是目前邏輯分析儀分析(LAP-C(162000)),沒有看到CANBUS訊號。

請問,要如何確認訊號是否有輸出,又或是要如何確認設定正確。

3月27日 08:46:51
轉換PDF檔 列印


Re: pic18F66k80 ECAN應用
初級會員
註冊日期:
2015/10/14 09:57
所屬群組:
註冊會員
文章: 33
等級: 4; EXP: 50
HP : 0 / 87
MP : 11 / 985
離線
找到問題點。

硬體設計問題,某些腳位調整。

已確認,可以收發CAN 訊息。

謝謝大家的協助。

3月28日 15:39:41
轉換PDF檔 列印






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

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2019 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