<?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>topic Re: Simulating MSCAN on HC08 in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138642#M2192</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; According to the message you are seeing it looks like CAN buffer number 1 is not initialized properly.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;Also I am not sure which version of CodeWarrior for HC08 &amp;nbsp;you are currently using (V5.0, V5.1, ...)?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; There is a CAN sample project in {Install}\ProcessorExpert\Projects\Test projects\CAN.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; Can you try whether this one is working? It is working for me ( I change the CPU to MC68HC908GZ60CFJ&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; and I do not get the messages you are seeing.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; I did test with V5.1.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CrasyCat&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Jul 2007 14:24:32 GMT</pubDate>
    <dc:creator>CrasyCat</dc:creator>
    <dc:date>2007-07-02T14:24:32Z</dc:date>
    <item>
      <title>Simulating MSCAN on HC08</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138641#M2191</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using CodeWarrior with HC08GZ60 board and trying to write some programs using CAN. Now I want to use the 'Full Chip Emulation' mode to debug. However, I always got several error lines in the Command window " as following&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; STARTED&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUNNING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSCAN Error - Transmit Buffer #1 not initialized!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSCAN Error - Transmit Buffer #1 not initialized!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSCAN Error - Transmit Buffer #1 not initialized!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSCAN Error - Transmit Buffer #1 not initialized!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HALTED&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The emulation always ends at the line&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExitCritical();&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; //To be able to interrup&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please give me some ideas about this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh, by the way, can I have an emulation with CAN in sending and receiving messages ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks and regards.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dinh Hoang Tu&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;#include &amp;lt;hidef.h&amp;gt; /* for EnableInterrupts macro */#include &amp;lt;MC68HC908GZ60.h&amp;gt; /* include peripheral declarations */#include "IO.h"#include "TIM.h"#include "SCI.h"#include "CAN.h"#include "common.h"#define SaveStatusReg()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { asm PSHA; asm TPA; asm SEI; asm STA CCR_reg; asm PULA; } /* This macro is used by Processor Expert. It saves CCR register and disable global interrupts. */#define RestoreStatusReg()&amp;nbsp; { asm PSHA; asm LDA CCR_reg; asm TAP; asm PULA; } /* This macro is used by Processor Expert. It restores CCR register saved in SaveStatusReg(). */#define EnterCritical()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SaveStatusReg()#define ExitCritical()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RestoreStatusReg()static byte * IDR1regs[3] = {&amp;amp;IDR10,&amp;amp;IDR11,&amp;amp;IDR12}; /* adresses of IDR1 registers */static dword * IDRregs[3] = {&amp;amp;IDR0,&amp;amp;IDR1,&amp;amp;IDR2}; /* adresses of IDR registers */static byte * IDR3regs[3] = {&amp;amp;IDR30,&amp;amp;IDR31,&amp;amp;IDR32}; /* adresses of IDR3 registers */static byte * DSRregs[3] = {&amp;amp;DSR00,&amp;amp;DSR01,&amp;amp;DSR02}; /* adresses of DSR registers&amp;nbsp; */static byte * DLRregs[3] = {&amp;amp;DLR0,&amp;amp;DLR1,&amp;amp;DLR2}; /* adresses of DLR registers&amp;nbsp; */static byte * TBPRregs[3] = {&amp;amp;TBPR0,&amp;amp;TBPR1,&amp;amp;TBPR2}; /* adresses of TBPR registers *//****************************************************************&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Definition of a variable&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;&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; *****************************************************************/byte CCR_reg;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Current CCR registerextern unsigned char LED_Flag;extern unsigned char SCI_Transmit_Flag;extern unsigned char SCI_Transmit_Data[15];extern unsigned char DP256;extern unsigned char GZ16;extern unsigned char AZ60;extern unsigned char MPC555;extern unsigned char LCDValueHigh;extern unsigned char LCDValueLow;extern unsigned char Command;extern unsigned char LEDValue;extern unsigned char CheckSum; extern unsigned char CAN_Transmit_Flag;extern unsigned char CAN_Receive_Flag;extern dword CAN_MessageID;extern byte CAN_FrameType;extern byte CAN_FrameFormat;extern byte CAN_DataLength;extern byte CAN_Data[8];/****************************************************************&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Function definition&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; *****************************************************************/void CAN_Init(void){&amp;nbsp; /* CMCR0: —–=0,˜™=0,??=0,SYNCH=0,TLNKEN=0,SLPAK=0,SLPRQ=0,SFTRES=1 */&amp;nbsp; CMCR0 = 1;&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; /* CAN reset */&amp;nbsp; /* CMCR1: ??=0,??=0,??=0,??=0,??=0,LOOPB=0,WUPM=0,CLKsrc=0 */&amp;nbsp; CMCR1 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //The clock source is exterior crystal oscillator/2 = 2Mhz&amp;nbsp;&amp;nbsp;&amp;nbsp; CIDAC_IDAM = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //32 Members receive filters&amp;nbsp; CIDAR = 0x00000000; //Set the acceptance code&amp;nbsp;&amp;nbsp; CIDMR = 0xFFFFFFFF; //Set the acceptance mask&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CBTR0&amp;nbsp; = 0x43;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CBTR1&amp;nbsp; = 0xA3;&amp;nbsp;&amp;nbsp; //The baud rate is 62.5K&amp;nbsp; CMCR0&amp;nbsp; = 0x00;&amp;nbsp;&amp;nbsp; //Establishes the CAN module as the data feeds output condition&amp;nbsp;&amp;nbsp; CRIER&amp;nbsp; = 0xFF;&amp;nbsp;&amp;nbsp; //CAN Interruption in order to receive}/*** ===================================================================**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Method&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp; CAN_ReadFrame (dword *MessageID,byte *FrameType,byte *FrameFormat,byte *Length,byte* Data)****&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description :**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From receiving a frame buffer, retrieval of data. **&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parameters&amp;nbsp; :**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - DESCRIPTION**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * MessageID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Signs at targets **&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * FrameType&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Frame type indicator**&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; DATA_FRAME - Data frame**&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; REMOTE_FRAME - Remote frame**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * FrameFormat&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Frame format for**&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; STANDARD_FORMAT - Standard frame 11-bits**&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; EXTENDED_FORMAT - Expansion frame 29-bits**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Length&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Frame length**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Receives data**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Returns&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; None** ===================================================================*/void CAN_ReadFrame(dword *MessageID,byte *FrameType,byte *FrameFormat,byte *Length,byte* Data){&amp;nbsp; dword ID;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Temporary variable&amp;nbsp; ID = REC_IDR; //Reads takes the designator&amp;nbsp; if ((REC_IDR1 &amp;amp; 8))&amp;nbsp;&amp;nbsp; //Is "expansion frame"£¿&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 = ( ((ID &amp;gt;&amp;gt; 1) &amp;amp; 0x0003FFFF) | ((ID &amp;gt;&amp;gt; 3) &amp;amp; 0xFFFC0000) ); //ID Results&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *FrameType = (REC_IDR3 &amp;amp; 1)? REMOTE_FRAME : DATA_FRAME; //Frame type£Long-distance frame or data frame£¿&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp; //If is "standard frame"&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;= 21;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ID Results&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *FrameType = (REC_IDR1 &amp;amp; 16)? REMOTE_FRAME : DATA_FRAME; //Frame type&amp;nbsp;&amp;nbsp; }&amp;nbsp; *MessageID = ID;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ID Results&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; *FrameFormat = (REC_IDR1 &amp;amp; 8)? EXTENDED_FORMAT : STANDARD_FORMAT; //Frame type&amp;nbsp;&amp;nbsp; *Length = REC_DLR &amp;amp; 0x0F;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Data length&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (*FrameType == DATA_FRAME) // If the data frame&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[0] =&amp;nbsp; REC_DSR0;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[1] =&amp;nbsp; REC_DSR1;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[2] =&amp;nbsp; REC_DSR2;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[3] =&amp;nbsp; REC_DSR3;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[4] =&amp;nbsp; REC_DSR4;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[5] =&amp;nbsp; REC_DSR5;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[6] =&amp;nbsp; REC_DSR6;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[7] =&amp;nbsp; REC_DSR7;&amp;nbsp;&amp;nbsp; //To the array of data storage&amp;nbsp; }&amp;nbsp; }/*** ===================================================================**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Method&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp; CAN1_SendFrame (byte BufferNum,dword MessageID,byte FrameType,byte Length,byte * Data)****&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description :**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Transmits an information. **&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parameters&amp;nbsp; :**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - DESCRIPTION**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BufferNum&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Buffer numeral **&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Information signs at **&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FrameType&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Frame types **&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; DATA_FRAME - data frame**&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; REMOTE_FRAME - remote frame**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Length&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Frame length (0..8)**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Data **&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Returns&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; - 0 Error**&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; - 1 Success** ===================================================================*/byte CAN_SendFrame(byte BufferNum,dword MessageID,byte FrameType,byte Length,byte * Data){&amp;nbsp; byte i;&amp;nbsp; //Temporary variables&amp;nbsp;&amp;nbsp; byte bufmask=((word)1&amp;lt;&amp;lt;BufferNum);&amp;nbsp; //Buffer mask&amp;nbsp; if ( (BufferNum &amp;gt; 2) || (Length &amp;gt; 8) ) //If the buffer marking is bigger than 2 Or greater than the length of data 8&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&amp;nbsp;&amp;nbsp; // Return error&amp;nbsp;&amp;nbsp; if (FrameType &amp;gt; REMOTE_FRAME)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //If the frame frequency is not the long-distance frame or the data frame&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&amp;nbsp;&amp;nbsp; //Return error&amp;nbsp; if (!(CTFLG &amp;amp; bufmask))&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; //The transmission buffer is full&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&amp;nbsp;&amp;nbsp; //Return error&amp;nbsp;&amp;nbsp; EnterCritical();&amp;nbsp;&amp;nbsp; //Prohibit a break&amp;nbsp;&amp;nbsp; CTCR_TXEIE |= bufmask;&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; //To be able to interrupt&amp;nbsp; if (MessageID &amp;lt; 2048)&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; //Is the standard frame£¿&amp;nbsp;&amp;nbsp;&amp;nbsp; *IDRregs[BufferNum] = (MessageID &amp;lt;&amp;lt; 21); // Establishes this news is the standard frame&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp; *IDRregs[BufferNum] = ( ((MessageID&amp;lt;&amp;lt;1) &amp;amp; 0x0007FFFF) | ((MessageID &amp;lt;&amp;lt; 3) &amp;amp; 0xFFE00000) ) | 0x00080000 ; //Establishment news for expansion frame&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (FrameType == DATA_FRAME) //Is the data frame£¿&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;Length; i++)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((DSRregs[BufferNum])+i) = Data[i]; /* Store data to the transmit register */&amp;nbsp;&amp;nbsp;&amp;nbsp; if (MessageID &amp;lt; 2048)&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; /* Is it the standard frame? */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *IDR1regs[BufferNum] &amp;amp;= ~16;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* If yes then set message type as "data frame" */&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *IDR3regs[BufferNum] &amp;amp;= ~1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* If no then set message type as "data frame" */&amp;nbsp; }&amp;nbsp; else&amp;nbsp; //&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; if (MessageID &amp;lt; 2048)&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; //Is the standard frame£¿&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *IDR1regs[BufferNum] |= 16;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Establishes this is the long-distance frame&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *IDR3regs[BufferNum] |= 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; *DLRregs[BufferNum] = Length;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //A message length&amp;nbsp;&amp;nbsp; *TBPRregs[BufferNum] = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //A priority level&amp;nbsp;&amp;nbsp; CTFLG = bufmask;&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; //Start sending&amp;nbsp; ExitCritical();&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; //To be able to interrupt&amp;nbsp; return 1;&amp;nbsp;&amp;nbsp; //Success}void SoftDelay(){&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;0xfff;i++);}void CAN_Task(void){&amp;nbsp; byte BufferNum;&amp;nbsp; if(CAN_Receive_Flag==1)&amp;nbsp; //After processes CAN to receive the information the duty&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; if(CAN_Data[1]==0x10)&amp;nbsp; //Judges whether for feedback information&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; DP256&amp;nbsp;&amp;nbsp; = CAN_Data[0];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GZ16&amp;nbsp;&amp;nbsp;&amp;nbsp; = CAN_Data[1];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AZ60&amp;nbsp;&amp;nbsp;&amp;nbsp; = CAN_Data[2];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPC555&amp;nbsp; = CAN_Data[3];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDValueHigh&amp;nbsp; = CAN_Data[4];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDValueLow&amp;nbsp;&amp;nbsp; = CAN_Data[5];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Command&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = CAN_Data[6];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEDValue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = CAN_Data[7];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[0]&amp;nbsp; = (byte)(CAN_MessageID&amp;amp;0xFF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[1]&amp;nbsp; = (byte)((CAN_MessageID&amp;gt;&amp;gt;8)&amp;amp;0xFF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[2]&amp;nbsp; = (byte)((CAN_MessageID&amp;gt;&amp;gt;16)&amp;amp;0xFF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[3]&amp;nbsp; = (byte)((CAN_MessageID&amp;gt;&amp;gt;24)&amp;amp;0xFF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[4]&amp;nbsp; = CAN_Data[0];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[5]&amp;nbsp; = CAN_Data[1];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[6]&amp;nbsp; = CAN_Data[2];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[7]&amp;nbsp; = CAN_Data[3];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[8]&amp;nbsp; = CAN_Data[4];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[9]&amp;nbsp; = CAN_Data[5];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[10]&amp;nbsp; = CAN_Data[6];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[11]&amp;nbsp; = CAN_Data[7];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[12]&amp;nbsp; = 8;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[13]&amp;nbsp; = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI_Transmit_Data[14]&amp;nbsp; = 5;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; if(GZ16==0x10)&amp;nbsp; //Judge whether there GZ16 node&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED_Flag&amp;nbsp; = 1;&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; SCI_Transmit_Flag = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Receive_Flag&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED8&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; if(CAN_Transmit_Flag==1)&amp;nbsp; //Processes duty which CAN needs to transmit&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; //LED7 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Test&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp;&amp;nbsp;&amp;nbsp; if (CAN_Data[2] == 0)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED2 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED3 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED2 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED3 = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp; SoftDelay();&amp;nbsp;&amp;nbsp;&amp;nbsp; //Choose to buffer empty&amp;nbsp;&amp;nbsp;&amp;nbsp; if(CTFLG_TXE0)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BufferNum = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(CTFLG_TXE1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BufferNum = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(CTFLG_TXE2)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BufferNum = 2;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; if(CAN_SendFrame(BufferNum,CAN_MessageID,CAN_FrameType,CAN_DataLength,CAN_Data)==1)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Transmit_Flag = 0;&amp;nbsp; //If transmits successfully£Sent a request to remove signs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //LED7 = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SoftDelay();&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; }interrupt void&amp;nbsp; Int_CAN_Receive(void){&amp;nbsp; //CAN_Receive_Flag&amp;nbsp; = 1;&amp;nbsp; CAN_ReadFrame(&amp;amp;CAN_MessageID,&amp;amp;CAN_FrameType,&amp;amp;CAN_FrameFormat,&amp;amp;CAN_DataLength,CAN_Data);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1&amp;nbsp; = CAN_Data[0];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED2&amp;nbsp; = CAN_Data[1];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED3&amp;nbsp; = CAN_Data[2];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED4&amp;nbsp; = CAN_Data[3];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED5&amp;nbsp; = CAN_Data[4];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED6&amp;nbsp; = CAN_Data[5];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED7&amp;nbsp; = CAN_Data[6];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED8&amp;nbsp; = CAN_Data[7];&amp;nbsp; CRFLG = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Reset the reception complete flag&amp;nbsp;&amp;nbsp; }interrupt void&amp;nbsp; Int_CAN_Transmit(void){&amp;nbsp;&amp;nbsp; CTCR = 0x00;}interrupt void&amp;nbsp; Int_CAN_Error(void){&amp;nbsp;&amp;nbsp; if(CRFLG_BOFFIF)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED2&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED3&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED4&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED5&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED6&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED7&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED8&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp; }}interrupt void&amp;nbsp; Int_CAN_Wakeup(void){&amp;nbsp; }////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////This is my main file////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #include &amp;lt;hidef.h&amp;gt; /* for EnableInterrupts macro */#include &amp;lt;MC68HC908GZ60.h&amp;gt; /* include peripheral declarations */#include "IO.h"#include "TIM.h"#include "SCI.h"#include "CAN.h"#include "SPI.h"#include "TBM.h"#include "MC33989.h"#include "common.h"#include "port.h"/****************************************************************&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;&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;&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; *****************************************************************/unsigned char timer_10ms_flag;unsigned char timer_1s_flag;unsigned char timer_10ms_counter;unsigned int&amp;nbsp; timer_1s_counter;unsigned char SCI_Receive_Data[9];unsigned char SCI_Transmit_Data[15];unsigned char SCI_Receive_Index;unsigned char SCI_Transmit_Index;unsigned char SCI_Receive_Flag;unsigned char SCI_Transmit_Flag;unsigned char DP256;unsigned char GZ16;unsigned char AZ60;unsigned char MPC555;unsigned char LCDValueHigh;unsigned char LCDValueLow;unsigned char Command;unsigned char LEDValue;unsigned char CheckSum;unsigned char LED_Flag;unsigned char CAN_Transmit_Flag;unsigned char CAN_Receive_Flag;dword CAN_MessageID;byte CAN_FrameType;byte CAN_FrameFormat;byte CAN_DataLength;byte CAN_Data[8] = "00001111";unsigned char LED_Delay_Counter;unsigned char SPI_Data;extern void SoftDelay();/****************************************************************&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;&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;&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; *****************************************************************/void Hardware_Init(void){&amp;nbsp; CONFIG1_COPD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; //¿´ÃÅ¹·½ûÖ¹&amp;nbsp; //CONFIG2_MSCANEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CANÄ£¿éÊ¹ÄÜ&amp;nbsp; //CONFIG2_TMCLKSEL&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Ê±»ùÄ£¿é128·ÖÆµ&amp;nbsp; //CONFIG2_OSCENINSTOP = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; //STOP×´Ì¬ÏÂ£¬Õñµ´Æ÷Ê¹ÄÜ&amp;nbsp; //CONFIG2_SCIBDsrc=1;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ÓÃÄÚ²¿×ÜÏßÊ±ÖÓ×÷ÎªSCIµÄÊ±ÖÓÔ´&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x0F;&amp;nbsp; IO_Init();&amp;nbsp; SCI_Init();&amp;nbsp; CAN_Init();&amp;nbsp; TIM_Init();&amp;nbsp; TBM_Init();&amp;nbsp; SPI_Init();&amp;nbsp; MC33989_Init();}void Variable_Init(void)&amp;nbsp; //±äÁ¿³õÊ¼»¯{&amp;nbsp; //¼ÆÊýÆ÷£¬±êÖ¾Î»&amp;nbsp; timer_10ms_flag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; timer_1s_flag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; timer_10ms_counter&amp;nbsp; = COUNTER_10MS_MAX;&amp;nbsp; timer_1s_counter&amp;nbsp;&amp;nbsp;&amp;nbsp; = COUNTER_1S_MAX;&amp;nbsp; //SCI&amp;nbsp; SCI_Receive_Flag&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; SCI_Receive_Index&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; SCI_Transmit_Flag&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; SCI_Transmit_Index&amp;nbsp; = 0;&amp;nbsp; //LED&amp;nbsp; LED_Flag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1;&amp;nbsp; LED_Delay_Counter&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; //CAN&amp;nbsp; CAN_Transmit_Flag&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; CAN_Receive_Flag&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; CAN_MessageID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x22FFFFFF;&amp;nbsp; CAN_FrameType&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DATA_FRAME;&amp;nbsp; CAN_FrameFormat&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = EXTENDED_FORMAT;&amp;nbsp; CAN_DataLength&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8;&amp;nbsp; }void main(void) {&amp;nbsp; int i = 0;&amp;nbsp; Hardware_Init();&amp;nbsp; Variable_Init();&amp;nbsp; PORTF = 0xFF;&amp;nbsp; DDRF = 0xFF;&amp;nbsp; EnableInterrupts; /* enable interrupts */&amp;nbsp;&amp;nbsp; for(;;)&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; CAN_Transmit_Flag = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (i%2 == 0)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[0] = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[1] = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[2] = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[3] = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[4] = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[5] = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[6] = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[7] = 1;&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; }else&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[0] = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[1] = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[2] = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[3] = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[4] = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[5] = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[6] = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Data[7] = 0;&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; i = i +1;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_Task();&amp;nbsp;&amp;nbsp;&amp;nbsp; SoftDelay();&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; if(timer_10ms_flag==1)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1&amp;nbsp; = ~LED1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTF = 0x0F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SCI_Task();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //LED_Task();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer_10ms_flag = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } /* loop forever */&amp;nbsp; }&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by CrasyCat on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2007-07-02&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;08:49 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Jun 2007 14:15:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138641#M2191</guid>
      <dc:creator>hoangtu</dc:creator>
      <dc:date>2007-06-29T14:15:14Z</dc:date>
    </item>
    <item>
      <title>Re: Simulating MSCAN on HC08</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138642#M2192</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; According to the message you are seeing it looks like CAN buffer number 1 is not initialized properly.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;Also I am not sure which version of CodeWarrior for HC08 &amp;nbsp;you are currently using (V5.0, V5.1, ...)?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; There is a CAN sample project in {Install}\ProcessorExpert\Projects\Test projects\CAN.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; Can you try whether this one is working? It is working for me ( I change the CPU to MC68HC908GZ60CFJ&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; and I do not get the messages you are seeing.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; I did test with V5.1.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CrasyCat&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jul 2007 14:24:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138642#M2192</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2007-07-02T14:24:32Z</dc:date>
    </item>
    <item>
      <title>Re: Simulating MSCAN on HC08</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138643#M2193</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Dear CrasyCat,&lt;BR /&gt;Following your instruction, I have run the CAN Test Project of Code Warrair 5.1.&lt;BR /&gt;At the first time, it semmed to be ok. Howerver, after I turned off the CW and started it again, these messages appeared again :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSCAN Error - Transmit Buffer #1 not initialized!&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;Does your CW run normally after restart ?&lt;BR /&gt;Thanks.&lt;BR /&gt;Dinh Hoang Tu&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jul 2007 13:46:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138643#M2193</guid>
      <dc:creator>hoangtu</dc:creator>
      <dc:date>2007-07-03T13:46:35Z</dc:date>
    </item>
    <item>
      <title>Re: Simulating MSCAN on HC08</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138644#M2194</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Dear CrasyCat,&lt;BR /&gt;moreover, I have retested many CAN programs. Probably this error just happens when I try to emulate a send frame function.&lt;BR /&gt;Do you have any idea on this ?&lt;BR /&gt;Thanks.&lt;BR /&gt;Dinh Hoang Tu&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jul 2007 13:49:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138644#M2194</guid>
      <dc:creator>hoangtu</dc:creator>
      <dc:date>2007-07-03T13:49:35Z</dc:date>
    </item>
    <item>
      <title>Re: Simulating MSCAN on HC08</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138645#M2195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Just a stupid question.&lt;/DIV&gt;&lt;DIV&gt;While you are running your application on simulator is anyone reading the CAN message?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;If you just use CAN transmit, the system may come back with an error if the buffer is still full with other messages.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Just my 10 cents on that one.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Anyway I am not sure it is a good idea to use the simulator to test CAN software. You need to send your packets somewhere.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Who/what is reading these data on your system?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CrasyCat&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jul 2007 13:32:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Simulating-MSCAN-on-HC08/m-p/138645#M2195</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2007-07-04T13:32:08Z</dc:date>
    </item>
  </channel>
</rss>

