<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>S12 / MagniV MicrocontrollersのトピックRe: CAN  Transmission problem</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167643#M5502</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Just a guess, is CANCTL1 register LISTEN bit set? CAN module won't transmit any message when LISTEN=1.&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 15 Jan 2010 15:59:35 GMT</pubDate>
    <dc:creator>kef</dc:creator>
    <dc:date>2010-01-15T15:59:35Z</dc:date>
    <item>
      <title>CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167642#M5501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi guys&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sorry my message box was empyty. I am working on Freescale 16-bit microcontroller &lt;STRONG&gt;MC9S12XHz512&lt;/STRONG&gt;.I am tryinyg to implement CAN on it. But only its reception part is working.I want to transmit data on CAN.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Does anyone know what are the register setting for that or is there any sample code available n where?If anyone has any idea Plz reply me as soon as possible.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SARY&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jan 2010 12:34:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167642#M5501</guid>
      <dc:creator>SARY</dc:creator>
      <dc:date>2010-01-15T12:34:03Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167643#M5502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Just a guess, is CANCTL1 register LISTEN bit set? CAN module won't transmit any message when LISTEN=1.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jan 2010 15:59:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167643#M5502</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-01-15T15:59:35Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167644#M5503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Kef&lt;/P&gt;&lt;P&gt;thanks for the reply.But&amp;nbsp;no that bit is zero.here is some part of code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;CAN0CTL0_INITRQ = 1;&lt;BR /&gt;&amp;nbsp; while((CAN0CTL1&amp;amp;1)==0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;CAN0CTL1 = 0xC0;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable MSCAN with bus clk, wake up enable&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; CAN0BTR0 = 0x04;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SJW=1 and Tq freq=4MHz&lt;BR /&gt;&amp;nbsp; CAN0BTR1 = 0x1C;&amp;nbsp;&amp;nbsp;&amp;nbsp; //1bit time =(PS*(1+13+2))/fclk =(5*16)/20M=4us =250 kbps (1bit=16Tq)&lt;BR /&gt;&amp;nbsp; CAN0IDAC = 0x00;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Two 32 bit accept filters&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //Bank 1&lt;BR /&gt;&amp;nbsp; CAN0IDAR0 = 0;&lt;BR /&gt;&amp;nbsp; CAN0IDAR1 = 0x08;//Match IDE bit=1 to support only EXT ID&lt;BR /&gt;&amp;nbsp; CAN0IDAR2 = 0;&lt;BR /&gt;&amp;nbsp; CAN0IDAR3 = 0;&amp;nbsp;&amp;nbsp; //Match RTR bit=0 to support only DATA FRAME&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //Bank 2&lt;BR /&gt;&amp;nbsp; CAN0IDAR4 = 0;&lt;BR /&gt;&amp;nbsp; CAN0IDAR5 = 0x08;//Match IDE bit=1&lt;BR /&gt;&amp;nbsp; CAN0IDAR6 = 0;&lt;BR /&gt;&amp;nbsp; CAN0IDAR7 = 0;&amp;nbsp;&amp;nbsp; //Match RTR bit=0&lt;/P&gt;&lt;P&gt;&amp;nbsp; //if MR_bit=1, don't check corres. AR_bit and accept that bit always&lt;BR /&gt;&amp;nbsp; //if MR_bit=0, check corres. AR_bit and accept that bit only if it matches&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //Bank 1&lt;BR /&gt;&amp;nbsp; CAN0IDMR0 = 0xFF;&lt;BR /&gt;&amp;nbsp; CAN0IDMR1 = 0xF7;//Match IDE bit for accepting Extended ID only (no std frame)&lt;BR /&gt;&amp;nbsp; CAN0IDMR2 = 0xFF;&lt;BR /&gt;&amp;nbsp; CAN0IDMR3 = 0xFE;//Match RTR bit for accepting DATA frames only (no remote frame)&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; //Bank 2&lt;BR /&gt;&amp;nbsp; CAN0IDMR4 = 0xFF;&lt;BR /&gt;&amp;nbsp; CAN0IDMR5 = 0xF7;&lt;BR /&gt;&amp;nbsp; CAN0IDMR6 = 0xFF;&lt;BR /&gt;&amp;nbsp; CAN0IDMR7 = 0xFE;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; CAN0CTL0 = 0x00;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Exit initialization mode request */&lt;BR /&gt;&amp;nbsp; while (CAN0CTL1_INITAK)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Wait for normal mode */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; while(!(CAN0CTL0_SYNCH))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait for CAN synchronization */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; CAN0RFLG_RXF = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear receiver flags */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; CAN0RIER_RXFIE = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I dont know but may be transmit interrupt has&amp;nbsp; to be defined at some address .I dont know where to define that.Right now i have defined it&amp;nbsp;&amp;nbsp;like&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG __NEAR_SEG NON_BANKED&lt;/P&gt;&lt;P&gt;void interrupt 5 knopp()&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char&amp;nbsp; u8TxBuffer = {0},u8Length=8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned long u32ID=0x18FEF100;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char&amp;nbsp; u8TxData[8]={ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18};&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char u8Index;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // if (!CAN0TFLG)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Retrun if Transmit Buffer is full */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp; return ERR_BUFFER_FULL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0TBSEL = CAN0TFLG;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Select lowest empty buffer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u8TxBuffer = CAN0TBSEL;&amp;nbsp;&amp;nbsp;/* Backup selected buffer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((unsigned long *) ((unsigned long)(&amp;amp;CAN0TXIDR0)))= u32ID;&amp;nbsp;&amp;nbsp; /* Load Id to IDR Registers */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Load data to Data Segment Registers */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (u8Index=0;u8Index&amp;lt;u8Length;u8Index++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(&amp;amp;CAN0TXDSR0 + u8Index) = u8TxData[u8Index];&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0TXDLR = 8;&amp;nbsp;&amp;nbsp; /* Set Data Length Code */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0TXTBPR = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set Priority */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0TFLG = u8TxBuffer;&amp;nbsp; /* Start transmission */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( (CAN0TFLG &amp;amp; u8TxBuffer) != u8TxBuffer);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait for Transmission completion */&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;for testing purpose and i am forcefully setting CAN0TFLG flag in main loop.should it work.&lt;/P&gt;&lt;P&gt;waitig for reply&lt;/P&gt;&lt;P&gt;SARY&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jan 2010 19:10:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167644#M5503</guid>
      <dc:creator>SARY</dc:creator>
      <dc:date>2010-01-15T19:10:57Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167645#M5504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;I dont know but may be transmit interrupt has&amp;nbsp; to be defined at some address .I dont know where to define that.Right now i have defined it&amp;nbsp;&amp;nbsp;like&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;You could set &amp;nbsp;CAN0 TX interrupt vector like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG __NEAR_SEG NON_BANKED&lt;/P&gt;&lt;P&gt;void &lt;STRONG&gt;interrupt&lt;/STRONG&gt; &lt;STRONG&gt;VectorNumber_Vcan0tx&lt;/STRONG&gt; knopp(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG DEFAULT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What's inside your knopp routine should&amp;nbsp;force CAN module to send&amp;nbsp;message.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Jan 2010 01:03:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167645#M5504</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-01-16T01:03:51Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167646#M5505</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have tried dat but it does not got to the interrupt function.What&amp;nbsp;I m doing now is I hav defined a function like&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;int interrupt_5_knopp()&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;n wen I want to&amp;nbsp;tx data on CAN I just call these function.Though its working but &lt;STRONG&gt;is it the right&lt;/STRONG&gt; &lt;STRONG&gt;method?&lt;/STRONG&gt;n also if I want to test some request type of PGN&amp;nbsp;to which an Engine ECU should respond .How can I test that wd no ECUs in my Lab.I mean wat data should&amp;nbsp;a cAT analzing tool must send.&lt;/P&gt;&lt;P&gt;I just want to check dat both tx n rx part of CAN should work fine n simultaneously.&lt;/P&gt;&lt;P&gt;SARY&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Jan 2010 13:56:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167646#M5505</guid>
      <dc:creator>SARY</dc:creator>
      <dc:date>2010-01-16T13:56:37Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167647#M5506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kef&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I am facing one&amp;nbsp;problem with the code .I am sending&amp;nbsp;PGN no. as unsigned long and putting it in the register like&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;u32ID=0x18FEF100;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;*((unsigned long *) ((unsigned long)(&amp;amp;CAN0TXIDR0)))= u32ID;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Is it right method or I hav to make some conversions.&lt;/P&gt;&lt;P&gt;because&amp;nbsp;PGN No.&amp;nbsp;I m recieving on CAT(I+ME) software tool is different it is 0x031F7880.&lt;/P&gt;&lt;P&gt;what may be the&amp;nbsp; problem ,in the coding part or CAN&amp;nbsp;software tool.&lt;/P&gt;&lt;P&gt;do reply if you have any idea.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SARY&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Jan 2010 18:37:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167647#M5506</guid>
      <dc:creator>SARY</dc:creator>
      <dc:date>2010-01-16T18:37:01Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167648#M5507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Who is PGN and what is dat, n, hav etc? I don't understand. Well, maybe it's because English is not my native language.&lt;/P&gt;&lt;P&gt;Did you enable CAN TX interrupt? If not, then no wonder your ISR doesn't get called.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You wrote that calling &lt;STRONG&gt;int interrupt_5_knopp()&lt;/STRONG&gt; works. Then you should mark this thread as solved or change somehow the subject line. Is right to call knopp directly or to convert it to ISR, it's up to you and your program requirements. CAN TX ISR is neede only when it's necessary to stream few CAN messages. You may wait in your main thread, you may also put messages to FIFO queue and let CAN TX interrupt to send data from FIFO.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;I don't know either what's in your u32ID variable. Is it CAN ID or CAN ID converted to MSCAN CANIDRx registers&amp;nbsp;ID bits layout. If you won't to know how to convert CAN ID to MSCAN CANIDRx bits, then you should open your S12XHZ datasheet and study &lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P align="left"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;STRONG&gt;Figure 14-25. Receive/Transmit Message Buffer — Standard Identifier Mapping&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;and&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P align="left"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;STRONG&gt;Figure 14-24. Receive/Transmit Message Buffer — Extended Identifier Mapping&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;It's a pity figure 14-24 is not as clear as figure 14-25. But if you compare contents of IDR0-IDR3 registers in both figures, then you should understand how to calculate IDRx bits from CAN ID when trasmitting and how to calculate CAN ID from IDRx bits on receive.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;&lt;FONT face="Arial" size="2"&gt;Regards&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Jan 2010 23:20:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167648#M5507</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-01-16T23:20:00Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167649#M5508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;PGN mean parameter group number or id of a CAN message.I have enabled all CAN Tx interrupt .But its not working.&lt;/P&gt;&lt;P&gt;I cant mark it as slolved ,because still I am not able to receive correct PGN(CAN Identifier) which I&amp;nbsp;am transmitting.I want to transmit Trip Reset command and I am sending it in a unsigned long format .&lt;/P&gt;&lt;P&gt;i.e.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;FONT color="#ff0000"&gt;*((unsigned long*) ((unsigned long)(&amp;amp;CAN0TXIDR0)))= 0x18DE0000;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;But what I have received on my CAT tool(CAN analzing tool ) is different.I cant test that on Engine ECU right now.So I just want to know wats the problem.&lt;/P&gt;&lt;P&gt;Is the CAT tool is showing wrong data or coding part has some problem.&lt;/P&gt;&lt;P&gt;I hope now you understand my problem.&lt;/P&gt;&lt;P&gt;SARY&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jan 2010 12:16:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167649#M5508</guid>
      <dc:creator>SARY</dc:creator>
      <dc:date>2010-01-19T12:16:41Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167650#M5509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;First you say you can't transmit. Then you say you can trasmit, but can't trigger TX interrupt. Can = solved, isn't it? :smileyhappy:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Like I wrote already, you should check CANxxIDRx ID bits layout. Those figures explain where every CAN message ID bit goes in CANxxIDRx registers and in CAN acceptance registers. Of course when you want to send message with some ID, you can't simply&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;FONT color="#ff0000"&gt;*((unsigned long*) &amp;amp;CAN0TXIDR0)= ID;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;It should be something like this (not tested):&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;CAN0TXIDR0 = (char)(ID &amp;gt;&amp;gt; 21);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;CAN0TXIDR1 =&amp;nbsp;(char) (&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ((ID &amp;gt;&amp;gt; (18-5)) &amp;amp; 0xE0)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ((ID &amp;gt;&amp;gt; 15) &amp;amp; 7)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | 0x18&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;CAN0TXIDR2 = (char)(ID &amp;gt;&amp;gt; 7);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;CAN0TXIDR3 = (char)(ID &amp;lt;&amp;lt; 1);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jan 2010 16:16:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167650#M5509</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-01-21T16:16:26Z</dc:date>
    </item>
    <item>
      <title>Re: CAN  Transmission problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167651#M5510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;CANTx flag and register are fine .nway I have solved my problem .Now I can transmit data whenever I want.Thanks for ur reply.NowI can mark it as solved.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jan 2010 16:53:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/CAN-Transmission-problem/m-p/167651#M5510</guid>
      <dc:creator>SARY</dc:creator>
      <dc:date>2010-01-21T16:53:34Z</dc:date>
    </item>
  </channel>
</rss>

