Hallo Forum !
XE167FH CAN PIN Config Fehler für den Pin11.01
der geht nicht als TXD -->CAN
raus, fehlt da der Pull-Up,+-Push-Pull,
aber der P2.05 PIN als TXD Port geht am CAN Bus als TXD-CAN raus,
aber der 'Remapped Pin Pin11.01 geht dagegen nicht ''alternativ als
TXD -->CAN-PIN.
Was macht der wohl für ein re_remappe da für den spezi. -Chip
Typ: XE167FH
haben ?
Wer kennt sich mit dem Chip von Infineon aus ?
Gruss Holger.
########################################################################
#
1 | void CAN_vInit(void)
|
2 | {
|
3 | MCAN_KSCCFG = 0x0003; // load Kernel State Configuration Register Âêëþ÷àåì can ìîäóëü
|
4 | _nop_(); // one cycle delay
|
5 | _nop_(); // one cycle delay
|
6 | /// - the CAN module clock = 40,00 MHz
|
7 | CAN_FDRL = 0x43FF; // load Fractional Divider Register
|
8 | while(CAN_PANCTRL & CAN_PANCTR_BUSY){ }; //// êîìàíäà ðàáîòû ñî ñïèñêîì âûïîëíåíà
|
9 |
|
10 | CAN_NCR0 = 0x0041; // ïðåðûâàíèÿ ðàçðåøåíû
|
11 |
|
12 | // P11_IOCR01 = 0x00A0; //TXD = P11.1
|
13 | // CAN_NPCR0 = 0x0005; // RXD = P11.0
|
14 |
|
15 | P2_IOCR05 = 0x00A0; //set direction register
|
16 | CAN_NPCR0 = 0x0003; // load node0 port control register
|
17 |
|
18 | CAN_NBTR0L = 0x2F41; // 1 ÌÃö
|
19 |
|
20 | SetListCommand(0x0101,0x0002); // MO1 for list 1 (Node 0)
|
21 |
|
22 | /// -----------------------------------------------------------------------
|
23 | /// Configuration of Message Object 1: Tx, Node 0 ïåðåäà÷à
|
24 | /// -----------------------------------------------------------------------
|
25 | CAN_MOCTR1H = 0x0EA8; // load MO1 control register high
|
26 | CAN_MOCTR1L = 0x0000; // load MO1 control register low
|
27 |
|
28 | CAN_MOAR1H = 0x630C; // identifier 29-bit
|
29 | CAN_MOAR1L = 0x000D; // load MO1 arbitration register low
|
30 |
|
31 | /// Configuration of Message Object 1 Data:
|
32 | CAN_MODATA1HH = 0x0A0A; //;0x556
|
33 | CAN_MODATA1HL = 0x0A0A; // data MSG_CNT in XC2000
|
34 | CAN_MODATA1LH = 0x0A0A;
|
35 | CAN_MODATA1LL = 0x0A0A; // load MO1 Data Bytes(DB1 & DB0)
|
36 |
|
37 | CAN_MOAMR1H = 0x3FFF; // load MO1 acceptance mask register high
|
38 | CAN_MOAMR1L = 0xFFFF; // load MO1 acceptance mask register low
|
39 |
|
40 | CAN_MOFCR1H = 0x0800; // load MO1 function control register high
|
41 | CAN_MOFCR1L = 0x0000; // load MO1 function control register low
|
42 |
|
43 |
|
44 | CAN_NCR0 &= ~ (uword) 0x0041; // reset INIT and CCE
|
45 |
|
46 |
|
47 | CAN_PANCTRL = 0x01; // CAN Node initialization command
|
48 | while(CAN_PANCTRL & CAN_PANCTR_BUSY){ };// wait until Panel has finished
|
49 |
|
50 |
|
51 | } //
|
#####################################################################
Gruss Holger.