<?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 Can't use register to set 500k CAN communication failed in S32K</title>
    <link>https://community.nxp.com/t5/S32K/Can-t-use-register-to-set-500k-CAN-communication-failed/m-p/1086536#M7785</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: #f5f5f5; color: rgba(0, 0, 0, 0.87); font-family: 'Roboto',arial,sans-serif; font-size: 24px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: pre-wrap; word-spacing: 0px;"&gt;FS32K118 +S32DS + 500kbps &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: #f5f5f5; color: rgba(0, 0, 0, 0.87); font-family: 'Roboto',arial,sans-serif; font-size: 24px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: pre-wrap; word-spacing: 0px;"&gt;Make bootloader, debug can download, initialization failed, no data can be received with the host computer, please check to see which parameter is wrong. thanks！！！&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #006013; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;void FIRC_init_48MHz(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;SCG-&amp;gt;FIRCCFG=0x00000000;&lt;BR /&gt;&amp;nbsp;SCG-&amp;gt;FIRCCSR|=SCG_FIRCCSR_FIRCEN(0X01);//Turn on the FIRC&lt;BR /&gt;&amp;nbsp;/*! Fast IRC is enabled and trimmed to 48 MHz in reset (default).&lt;BR /&gt;&amp;nbsp; * Set FIRCDIV1 &amp;amp; FIRCDIV2 = 1: divide by 1 = 48 MHz.&lt;BR /&gt;&amp;nbsp; * */&lt;BR /&gt;&amp;nbsp;SCG-&amp;gt;FIRCDIV = SCG_FIRCDIV_FIRCDIV1(1)|&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCG_FIRCDIV_FIRCDIV2(1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #006013; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #006013; white-space: pre-wrap; font-weight: 400; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: x-large; font-style: normal; float: none; background-color: #f5f5f5; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: 'Roboto',arial,sans-serif; orphans: 2; text-align: left; "&gt;void CAN0PORT_init(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;PCC-&amp;gt;PCCn[PCC_PORTB_INDEX] |= PCC_PCCn_CGC_MASK; /* Enable clock for PORTB */&lt;BR /&gt;&amp;nbsp;PORTB-&amp;gt;PCR[0]|=PORT_PCR_MUX(5);&amp;nbsp;/* Port B, bit 0, ALT=5: CAN0 RX. */&lt;BR /&gt;&amp;nbsp;PORTB-&amp;gt;PCR[1]|=PORT_PCR_MUX(5);&amp;nbsp;/* Port B, bit 1: ALT=5: CAN0 TX. */&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;void FLEXCAN0_init(void)&lt;BR /&gt;{&lt;BR /&gt;#define MSG_BUF_SIZE&amp;nbsp; 4&amp;nbsp;&amp;nbsp;/* Msg Buffer Size. (CAN 2.0AB: 2 hdr +&amp;nbsp; 2 data= 4 words) */&lt;BR /&gt;&amp;nbsp; uint32_t&amp;nbsp;&amp;nbsp; i=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;//&amp;nbsp; PCC-&amp;gt;PCCn[PCC_FlexCAN0_INDEX] |= PCC_PCCn_CGC_MASK; /* CGC=1: enable clock to FlexCAN0 */&lt;BR /&gt;&amp;nbsp; PCC-&amp;gt;PCCn[PCC_FlexCAN0_INDEX] = PCC_PCCn_PR_MASK|PCC_PCCn_CGC(1);&amp;nbsp; //FlexCAN0 BIU is enabled (48 MHz).&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;MCR |= CAN_MCR_MDIS_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MDIS=1: Disable module before selecting clock &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; //CAN0-&amp;gt;CTRL1 &amp;amp;= ~CAN_CTRL1_CLKSRC_MASK;&amp;nbsp; /* CLKSRC=0: Clock Source = SOSCDIV2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;CTRL1 |= CAN_CTRL1_CLKSRC_MASK;&amp;nbsp;&amp;nbsp;/* CLKSRC=1: Clock Source = SYS_CLK to generate the CAN time sements (48MHz)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;MCR &amp;amp;= ~CAN_MCR_MDIS_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MDIS=0; Enable module config. (Sets FRZ, HALT)&amp;nbsp;*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;&amp;nbsp; while (!((CAN0-&amp;gt;MCR &amp;amp; CAN_MCR_FRZACK_MASK) &amp;gt;&amp;gt; CAN_MCR_FRZACK_SHIFT))&amp;nbsp; {}&lt;BR /&gt;&amp;nbsp;/*!&lt;BR /&gt;&amp;nbsp; * Good practice:&lt;BR /&gt;&amp;nbsp; * ===================================================&lt;BR /&gt;&amp;nbsp; * wait for FRZACK=1 on freeze mode entry/exit&lt;BR /&gt;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;CTRL1 = 0&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #if defined(S32K11x_SERIES)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_PRESDIV(5)&amp;nbsp;&amp;nbsp; /* PRESDIV=4: Sclock=PEclock/(PRESDIV+1) = 48MHz/5 = 8MHz&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_PSEG2(4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure for 500 KHz bit time &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; |CAN_CTRL1_PSEG1(3) &amp;nbsp;&amp;nbsp;/* Time quanta freq = 16 time quanta x 500 KHz bit time= 8MHz &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_PROPSEG(7)&amp;nbsp;&amp;nbsp;/* PRESDIV+1 = Fclksrc/Ftq = 8 MHz/8 MHz = 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_RJW(3)&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;&amp;nbsp;&amp;nbsp; so PRESDIV = 0 &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; |CAN_CTRL1_SMP(1) &amp;nbsp;&amp;nbsp;/* PSEG2 = Phase_Seg2 - 1 = 4 - 1 = 3 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_LPB(0);&amp;nbsp;&amp;nbsp;/* PSEG1 = PSEG2 = 3 &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;&amp;nbsp;&amp;nbsp;/* PROPSEG= Prop_Seg - 1 = 7 - 1 = 6 &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;&amp;nbsp;&amp;nbsp;/* RJW: since Phase_Seg2 &amp;gt;=4, RJW+1=4 so RJW=3. &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;&amp;nbsp;&amp;nbsp;/* SMP = 1: use 3 bits per CAN sample &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;&amp;nbsp;&amp;nbsp;/* CLKSRC=0 (unchanged): Fcanclk= Fosc= 8 MHz &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; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; /*CAN_CTRL1_LPB(1):enable loopback mode for debug*/&lt;BR /&gt;&amp;nbsp; for(i=0; i&amp;lt;128; i++ )&lt;BR /&gt;&amp;nbsp; {&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* CAN0: clear 32 msg bufs x 4 words/msg buf = 128 words */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0-&amp;gt;RAMn[i] = 0;&amp;nbsp; /* Clear msg buf word */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; for(i=0; i&amp;lt;16; i++ )&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;/* In FRZ mode, init CAN0 16 msg buf filters */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0-&amp;gt;RXIMR[i] = 0xFFFFFFFF;&amp;nbsp; &amp;nbsp;/* Check all ID bits for incoming messages */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;RXMGMASK = 0x1FFFFFFF;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Global acceptance mask: check all ID bits &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;RAMn[ 4*MSG_BUF_SIZE + 0] = 0x04000000; /* Msg Buf 4, word 0: Enable for reception &amp;nbsp;*/&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* EDL,BRS,ESI=0: CANFD not used &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CODE=4: MB set to RX inactive &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* IDE=0: Standard ID &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SRR, RTR, TIME STAMP = 0: not applicable &amp;nbsp;*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;&amp;nbsp; CAN0-&amp;gt;RAMn[ 4*MSG_BUF_SIZE + 1] = ((uint32_t)0xa5&amp;lt;&amp;lt;18)&amp;amp;0X1FFC0000; /* Msg Buf 4, word 1: Standard ID = 0x511 &amp;nbsp;&amp;nbsp;*/&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* PRIO = 0: CANFD not used */&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;MCR = 0x0000001F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Negate FlexCAN 1 halt state for 32 MBs */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;&amp;nbsp; while ((CAN0-&amp;gt;MCR &amp;amp;&amp;amp; CAN_MCR_FRZACK_MASK) &amp;gt;&amp;gt; CAN_MCR_FRZACK_SHIFT)&amp;nbsp; {}&lt;BR /&gt;&amp;nbsp; /* Good practice: wait for FRZACK to clear (not in freeze mode) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;&amp;nbsp; while ((CAN0-&amp;gt;MCR &amp;amp;&amp;amp; CAN_MCR_NOTRDY_MASK) &amp;gt;&amp;gt; CAN_MCR_NOTRDY_SHIFT)&amp;nbsp; {}&lt;BR /&gt;&amp;nbsp; /* Good practice: wait for NOTRDY to clear (module ready) */&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 24 Jun 2020 09:33:46 GMT</pubDate>
    <dc:creator>979409808</dc:creator>
    <dc:date>2020-06-24T09:33:46Z</dc:date>
    <item>
      <title>Can't use register to set 500k CAN communication failed</title>
      <link>https://community.nxp.com/t5/S32K/Can-t-use-register-to-set-500k-CAN-communication-failed/m-p/1086536#M7785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: #f5f5f5; color: rgba(0, 0, 0, 0.87); font-family: 'Roboto',arial,sans-serif; font-size: 24px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: pre-wrap; word-spacing: 0px;"&gt;FS32K118 +S32DS + 500kbps &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: #f5f5f5; color: rgba(0, 0, 0, 0.87); font-family: 'Roboto',arial,sans-serif; font-size: 24px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: pre-wrap; word-spacing: 0px;"&gt;Make bootloader, debug can download, initialization failed, no data can be received with the host computer, please check to see which parameter is wrong. thanks！！！&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #006013; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;void FIRC_init_48MHz(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;SCG-&amp;gt;FIRCCFG=0x00000000;&lt;BR /&gt;&amp;nbsp;SCG-&amp;gt;FIRCCSR|=SCG_FIRCCSR_FIRCEN(0X01);//Turn on the FIRC&lt;BR /&gt;&amp;nbsp;/*! Fast IRC is enabled and trimmed to 48 MHz in reset (default).&lt;BR /&gt;&amp;nbsp; * Set FIRCDIV1 &amp;amp; FIRCDIV2 = 1: divide by 1 = 48 MHz.&lt;BR /&gt;&amp;nbsp; * */&lt;BR /&gt;&amp;nbsp;SCG-&amp;gt;FIRCDIV = SCG_FIRCDIV_FIRCDIV1(1)|&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCG_FIRCDIV_FIRCDIV2(1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #006013; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN style="-webkit-text-stroke-width: 0px; color: #006013; white-space: pre-wrap; font-weight: 400; display: inline !important; letter-spacing: normal; text-decoration: none; font-size: x-large; font-style: normal; float: none; background-color: #f5f5f5; text-transform: none; word-spacing: 0px; font-variant: normal; text-indent: 0px; font-family: 'Roboto',arial,sans-serif; orphans: 2; text-align: left; "&gt;void CAN0PORT_init(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;PCC-&amp;gt;PCCn[PCC_PORTB_INDEX] |= PCC_PCCn_CGC_MASK; /* Enable clock for PORTB */&lt;BR /&gt;&amp;nbsp;PORTB-&amp;gt;PCR[0]|=PORT_PCR_MUX(5);&amp;nbsp;/* Port B, bit 0, ALT=5: CAN0 RX. */&lt;BR /&gt;&amp;nbsp;PORTB-&amp;gt;PCR[1]|=PORT_PCR_MUX(5);&amp;nbsp;/* Port B, bit 1: ALT=5: CAN0 TX. */&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;void FLEXCAN0_init(void)&lt;BR /&gt;{&lt;BR /&gt;#define MSG_BUF_SIZE&amp;nbsp; 4&amp;nbsp;&amp;nbsp;/* Msg Buffer Size. (CAN 2.0AB: 2 hdr +&amp;nbsp; 2 data= 4 words) */&lt;BR /&gt;&amp;nbsp; uint32_t&amp;nbsp;&amp;nbsp; i=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;//&amp;nbsp; PCC-&amp;gt;PCCn[PCC_FlexCAN0_INDEX] |= PCC_PCCn_CGC_MASK; /* CGC=1: enable clock to FlexCAN0 */&lt;BR /&gt;&amp;nbsp; PCC-&amp;gt;PCCn[PCC_FlexCAN0_INDEX] = PCC_PCCn_PR_MASK|PCC_PCCn_CGC(1);&amp;nbsp; //FlexCAN0 BIU is enabled (48 MHz).&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;MCR |= CAN_MCR_MDIS_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MDIS=1: Disable module before selecting clock &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; //CAN0-&amp;gt;CTRL1 &amp;amp;= ~CAN_CTRL1_CLKSRC_MASK;&amp;nbsp; /* CLKSRC=0: Clock Source = SOSCDIV2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;CTRL1 |= CAN_CTRL1_CLKSRC_MASK;&amp;nbsp;&amp;nbsp;/* CLKSRC=1: Clock Source = SYS_CLK to generate the CAN time sements (48MHz)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;MCR &amp;amp;= ~CAN_MCR_MDIS_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MDIS=0; Enable module config. (Sets FRZ, HALT)&amp;nbsp;*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;&amp;nbsp; while (!((CAN0-&amp;gt;MCR &amp;amp; CAN_MCR_FRZACK_MASK) &amp;gt;&amp;gt; CAN_MCR_FRZACK_SHIFT))&amp;nbsp; {}&lt;BR /&gt;&amp;nbsp;/*!&lt;BR /&gt;&amp;nbsp; * Good practice:&lt;BR /&gt;&amp;nbsp; * ===================================================&lt;BR /&gt;&amp;nbsp; * wait for FRZACK=1 on freeze mode entry/exit&lt;BR /&gt;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;CTRL1 = 0&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #if defined(S32K11x_SERIES)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_PRESDIV(5)&amp;nbsp;&amp;nbsp; /* PRESDIV=4: Sclock=PEclock/(PRESDIV+1) = 48MHz/5 = 8MHz&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_PSEG2(4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure for 500 KHz bit time &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; |CAN_CTRL1_PSEG1(3) &amp;nbsp;&amp;nbsp;/* Time quanta freq = 16 time quanta x 500 KHz bit time= 8MHz &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_PROPSEG(7)&amp;nbsp;&amp;nbsp;/* PRESDIV+1 = Fclksrc/Ftq = 8 MHz/8 MHz = 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_RJW(3)&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;&amp;nbsp;&amp;nbsp; so PRESDIV = 0 &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; |CAN_CTRL1_SMP(1) &amp;nbsp;&amp;nbsp;/* PSEG2 = Phase_Seg2 - 1 = 4 - 1 = 3 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |CAN_CTRL1_LPB(0);&amp;nbsp;&amp;nbsp;/* PSEG1 = PSEG2 = 3 &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;&amp;nbsp;&amp;nbsp;/* PROPSEG= Prop_Seg - 1 = 7 - 1 = 6 &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;&amp;nbsp;&amp;nbsp;/* RJW: since Phase_Seg2 &amp;gt;=4, RJW+1=4 so RJW=3. &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;&amp;nbsp;&amp;nbsp;/* SMP = 1: use 3 bits per CAN sample &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;&amp;nbsp;&amp;nbsp;/* CLKSRC=0 (unchanged): Fcanclk= Fosc= 8 MHz &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; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; /*CAN_CTRL1_LPB(1):enable loopback mode for debug*/&lt;BR /&gt;&amp;nbsp; for(i=0; i&amp;lt;128; i++ )&lt;BR /&gt;&amp;nbsp; {&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* CAN0: clear 32 msg bufs x 4 words/msg buf = 128 words */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0-&amp;gt;RAMn[i] = 0;&amp;nbsp; /* Clear msg buf word */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; for(i=0; i&amp;lt;16; i++ )&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;/* In FRZ mode, init CAN0 16 msg buf filters */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0-&amp;gt;RXIMR[i] = 0xFFFFFFFF;&amp;nbsp; &amp;nbsp;/* Check all ID bits for incoming messages */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;RXMGMASK = 0x1FFFFFFF;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Global acceptance mask: check all ID bits &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;RAMn[ 4*MSG_BUF_SIZE + 0] = 0x04000000; /* Msg Buf 4, word 0: Enable for reception &amp;nbsp;*/&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* EDL,BRS,ESI=0: CANFD not used &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CODE=4: MB set to RX inactive &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* IDE=0: Standard ID &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SRR, RTR, TIME STAMP = 0: not applicable &amp;nbsp;*/&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;&amp;nbsp; CAN0-&amp;gt;RAMn[ 4*MSG_BUF_SIZE + 1] = ((uint32_t)0xa5&amp;lt;&amp;lt;18)&amp;amp;0X1FFC0000; /* Msg Buf 4, word 1: Standard ID = 0x511 &amp;nbsp;&amp;nbsp;*/&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* PRIO = 0: CANFD not used */&lt;BR /&gt;&amp;nbsp; CAN0-&amp;gt;MCR = 0x0000001F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Negate FlexCAN 1 halt state for 32 MBs */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;&amp;nbsp; while ((CAN0-&amp;gt;MCR &amp;amp;&amp;amp; CAN_MCR_FRZACK_MASK) &amp;gt;&amp;gt; CAN_MCR_FRZACK_SHIFT)&amp;nbsp; {}&lt;BR /&gt;&amp;nbsp; /* Good practice: wait for FRZACK to clear (not in freeze mode) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #ba0087; font-family: 'Roboto',arial,sans-serif; font-size: x-large; background-color: #f5f5f5;"&gt;&amp;nbsp; while ((CAN0-&amp;gt;MCR &amp;amp;&amp;amp; CAN_MCR_NOTRDY_MASK) &amp;gt;&amp;gt; CAN_MCR_NOTRDY_SHIFT)&amp;nbsp; {}&lt;BR /&gt;&amp;nbsp; /* Good practice: wait for NOTRDY to clear (module ready) */&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jun 2020 09:33:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Can-t-use-register-to-set-500k-CAN-communication-failed/m-p/1086536#M7785</guid>
      <dc:creator>979409808</dc:creator>
      <dc:date>2020-06-24T09:33:46Z</dc:date>
    </item>
    <item>
      <title>Re: Can't use register to set 500k CAN communication failed</title>
      <link>https://community.nxp.com/t5/S32K/Can-t-use-register-to-set-500k-CAN-communication-failed/m-p/1086537#M7786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Dylan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the following &lt;A href="https://source.codeaurora.org/external/s32support/S32K1xx_cookbook/about/"&gt;link&lt;/A&gt;, you can find a FlexCAN code example that could help you in your application. Also, in the &lt;A href="https://www.nxp.com/design/software/development-software/s32-sdk/s32-software-development-kit-for-s32k1:S32SDK-ARMK1"&gt;SDK &lt;/A&gt;you can find a bootloader example that you could check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alexis Andalon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jun 2020 23:17:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Can-t-use-register-to-set-500k-CAN-communication-failed/m-p/1086537#M7786</guid>
      <dc:creator>Alexis_A</dc:creator>
      <dc:date>2020-06-25T23:17:57Z</dc:date>
    </item>
  </channel>
</rss>

