<?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>S32KのトピックHow to implement two CAN channels on UCANS32K146  dev board (using SDK example can_pal_s32k146 )</title>
    <link>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1649496#M22874</link>
    <description>&lt;P&gt;I am using the NXP UCANS32K146 development board with the SDK example 'can_pal_s32k146'.&lt;/P&gt;&lt;P&gt;I had to modify the code slightly to get it working with this development board, including additional digital outputs to pull the STB (standby) pin on the CAN transceivers low.&lt;/P&gt;&lt;P&gt;I can get CAN0 or CAN1 to work, but not both at the same time.&amp;nbsp; If I try to use both CAN channels at the same time, CAN1 works but CAN0 stops working and the CAN0 ECR and ESR1 registers shows there are faults...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_0-1683899158503.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222941i0B0060273E9A68D2/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_0-1683899158503.png" alt="johngreenjets_0-1683899158503.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I have fitted 60R terminating resistors (x2) for each CAN transceiver and both CAN0 and CAN1 are connected together (I measured the total bus impedance to be 60R).&amp;nbsp;&lt;/P&gt;&lt;P&gt;I use a PeakCAN USB with Busmaster to read the CAN messages (PeakCAN has no terminating resistor fitted).&lt;/P&gt;&lt;P&gt;I'm not entirely sure how to configure the CAN peripheral on these processors, so I hoping its just something simple I've missed or done wrong.&lt;/P&gt;&lt;P&gt;The changes I made to the code are shown below - the original code is on the left pane and the modified code is on the right pane.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_8-1683899968768.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222950i34A667F3DC94EF31/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_8-1683899968768.png" alt="johngreenjets_8-1683899968768.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_9-1683899994038.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222952i8BD3DA1FCF39D954/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_9-1683899994038.png" alt="johngreenjets_9-1683899994038.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_10-1683900013693.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222953iD5B2228968735752/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_10-1683900013693.png" alt="johngreenjets_10-1683900013693.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_11-1683900030892.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222954i63E711432A0AD584/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_11-1683900030892.png" alt="johngreenjets_11-1683900030892.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_12-1683900049886.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222955i1C0529A8A68AF15E/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_12-1683900049886.png" alt="johngreenjets_12-1683900049886.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below are the Processor Expert settings for both CAN0 and CAN1...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_1-1683899272792.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222942iE269B217682E0CF4/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_1-1683899272792.png" alt="johngreenjets_1-1683899272792.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_3-1683899339195.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222944i4744E5FFCF3ABBDA/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_3-1683899339195.png" alt="johngreenjets_3-1683899339195.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Below is the Tx/Rx pins for CAN1...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_7-1683899902176.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222949i17560D82AE4F8539/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_7-1683899902176.png" alt="johngreenjets_7-1683899902176.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the GPIO for the digital outputs (for the CAN transceiver STB pin)...&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_6-1683899854553.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222948i537D883D4E731F31/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_6-1683899854553.png" alt="johngreenjets_6-1683899854553.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The project (zip) is attached for reference.&lt;/P&gt;</description>
    <pubDate>Fri, 12 May 2023 14:08:08 GMT</pubDate>
    <dc:creator>johngreenjets</dc:creator>
    <dc:date>2023-05-12T14:08:08Z</dc:date>
    <item>
      <title>How to implement two CAN channels on UCANS32K146  dev board (using SDK example can_pal_s32k146 )</title>
      <link>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1649496#M22874</link>
      <description>&lt;P&gt;I am using the NXP UCANS32K146 development board with the SDK example 'can_pal_s32k146'.&lt;/P&gt;&lt;P&gt;I had to modify the code slightly to get it working with this development board, including additional digital outputs to pull the STB (standby) pin on the CAN transceivers low.&lt;/P&gt;&lt;P&gt;I can get CAN0 or CAN1 to work, but not both at the same time.&amp;nbsp; If I try to use both CAN channels at the same time, CAN1 works but CAN0 stops working and the CAN0 ECR and ESR1 registers shows there are faults...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_0-1683899158503.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222941i0B0060273E9A68D2/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_0-1683899158503.png" alt="johngreenjets_0-1683899158503.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I have fitted 60R terminating resistors (x2) for each CAN transceiver and both CAN0 and CAN1 are connected together (I measured the total bus impedance to be 60R).&amp;nbsp;&lt;/P&gt;&lt;P&gt;I use a PeakCAN USB with Busmaster to read the CAN messages (PeakCAN has no terminating resistor fitted).&lt;/P&gt;&lt;P&gt;I'm not entirely sure how to configure the CAN peripheral on these processors, so I hoping its just something simple I've missed or done wrong.&lt;/P&gt;&lt;P&gt;The changes I made to the code are shown below - the original code is on the left pane and the modified code is on the right pane.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_8-1683899968768.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222950i34A667F3DC94EF31/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_8-1683899968768.png" alt="johngreenjets_8-1683899968768.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_9-1683899994038.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222952i8BD3DA1FCF39D954/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_9-1683899994038.png" alt="johngreenjets_9-1683899994038.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_10-1683900013693.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222953iD5B2228968735752/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_10-1683900013693.png" alt="johngreenjets_10-1683900013693.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_11-1683900030892.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222954i63E711432A0AD584/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_11-1683900030892.png" alt="johngreenjets_11-1683900030892.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_12-1683900049886.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222955i1C0529A8A68AF15E/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_12-1683900049886.png" alt="johngreenjets_12-1683900049886.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below are the Processor Expert settings for both CAN0 and CAN1...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_1-1683899272792.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222942iE269B217682E0CF4/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_1-1683899272792.png" alt="johngreenjets_1-1683899272792.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_3-1683899339195.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222944i4744E5FFCF3ABBDA/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_3-1683899339195.png" alt="johngreenjets_3-1683899339195.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Below is the Tx/Rx pins for CAN1...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_7-1683899902176.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222949i17560D82AE4F8539/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_7-1683899902176.png" alt="johngreenjets_7-1683899902176.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the GPIO for the digital outputs (for the CAN transceiver STB pin)...&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_6-1683899854553.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/222948i537D883D4E731F31/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_6-1683899854553.png" alt="johngreenjets_6-1683899854553.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The project (zip) is attached for reference.&lt;/P&gt;</description>
      <pubDate>Fri, 12 May 2023 14:08:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1649496#M22874</guid>
      <dc:creator>johngreenjets</dc:creator>
      <dc:date>2023-05-12T14:08:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to implement two CAN channels on UCANS32K146  dev board (using SDK example can_pal_s32k146 )</title>
      <link>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1650140#M22910</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;CAN frame can be sent when &lt;STRONG&gt;CAN0_ENABLE&lt;/STRONG&gt; or &lt;STRONG&gt;CAN1_ENABLE&lt;/STRONG&gt; is defined, but cannot be sent if both are defined at the same time?&lt;/P&gt;
&lt;P&gt;Have you try to move the&amp;nbsp;&lt;STRONG&gt;CAN_Send&lt;/STRONG&gt; to main function and configure&amp;nbsp;&lt;SPAN&gt;interrupt priority(&lt;STRONG&gt;INT_SYS_SetPriority&lt;/STRONG&gt;) for CAN0 and CAN1 and&amp;nbsp;PORTE?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="INT_SYS_SetPriority.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/223130i3303AF4326B52E8E/image-size/large?v=v2&amp;amp;px=999" role="button" title="INT_SYS_SetPriority.png" alt="INT_SYS_SetPriority.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Sorry, only CAN0 connected to the CAN transceiver on S32K146EVB, so it is not convenient for me to test.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Robin&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 15 May 2023 08:39:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1650140#M22910</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2023-05-15T08:39:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to implement two CAN channels on UCANS32K146  dev board (using SDK example can_pal_s32k146 )</title>
      <link>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1650253#M22920</link>
      <description>&lt;P&gt;Thanks Robin&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Yes that is correct, CAN frame can be sent when&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;CAN0_ENABLE&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;or&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;CAN1_ENABLE&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;is defined, but cannot be sent if both are defined at the same time.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I added a toggle to the switch ISR, so that each time the button is pressed it will toggle between sending&amp;nbsp;either the CAN0 message or the CAN1 message (but not both).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I did this to avoid any possible conflicts of trying to send a message on CAN0 and CAN1 at the same time.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;However, the result is the same i.e.CAN1 works but CAN0 doesn't.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The end goal is to send messages at the same time on both CAN0 and CAN1, because I am trying to emulate a redundant CAN bus.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The code is shown below (where &lt;STRONG&gt;canToggle&amp;nbsp;&lt;/STRONG&gt;is used to toggle between message sending)..&lt;/P&gt;&lt;PRE&gt;&lt;STRONG&gt;void&lt;/STRONG&gt; &lt;STRONG&gt;buttonISR&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Check if one of the buttons was pressed */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t buttonsPressed = PINS_DRV_GetPortIntFlag(BTN_PORT) &amp;amp;&lt;BR /&gt;&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; ((1 &amp;lt;&amp;lt; BTN1_PIN) | (1 &amp;lt;&amp;lt; BTN2_PIN));&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool sendFrame = false;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;static&lt;/STRONG&gt;&lt;STRONG&gt; bool &lt;/STRONG&gt;&lt;STRONG&gt;canToggle&lt;/STRONG&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;if&lt;/STRONG&gt;&lt;STRONG&gt;(&lt;/STRONG&gt;&lt;STRONG&gt;buttonsPressed&lt;/STRONG&gt;&lt;STRONG&gt; != 0)&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set FlexCAN TX value according to the button pressed */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;switch&lt;/STRONG&gt;&lt;STRONG&gt; (&lt;/STRONG&gt;&lt;STRONG&gt;buttonsPressed&lt;/STRONG&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&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; &lt;STRONG&gt;case&lt;/STRONG&gt;&lt;STRONG&gt; (1 &amp;lt;&amp;lt; BTN1_PIN):&lt;/STRONG&gt;&lt;BR /&gt;&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; ledRequested = &lt;I&gt;LED0_CHANGE_REQUESTED&lt;/I&gt;&lt;I&gt;;&lt;/I&gt;&lt;BR /&gt;&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; sendFrame = true;&lt;BR /&gt;&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; /* Clear interrupt flag */&lt;BR /&gt;&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; PINS_DRV_ClearPinIntFlagCmd(BTN_PORT, BTN1_PIN);&lt;BR /&gt;&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;STRONG&gt;break&lt;/STRONG&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;BR /&gt;&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; &lt;STRONG&gt;case&lt;/STRONG&gt;&lt;STRONG&gt; (1 &amp;lt;&amp;lt; BTN2_PIN):&lt;/STRONG&gt;&lt;BR /&gt;&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; ledRequested = &lt;I&gt;LED1_CHANGE_REQUESTED&lt;/I&gt;&lt;I&gt;;&lt;/I&gt;&lt;BR /&gt;&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; sendFrame = true;&lt;BR /&gt;&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; /* Clear interrupt flag */&lt;BR /&gt;&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; PINS_DRV_ClearPinIntFlagCmd(BTN_PORT, BTN2_PIN);&lt;BR /&gt;&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;STRONG&gt;break&lt;/STRONG&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;BR /&gt;&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; &lt;STRONG&gt;default&lt;/STRONG&gt;&lt;STRONG&gt;:&lt;/STRONG&gt;&lt;BR /&gt;&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; PINS_DRV_ClearPortIntFlagCmd(BTN_PORT);&lt;BR /&gt;&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;STRONG&gt;break&lt;/STRONG&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;if&lt;/STRONG&gt;&lt;STRONG&gt; (&lt;/STRONG&gt;&lt;STRONG&gt;sendFrame&lt;/STRONG&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&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; /* Set information about the data to be sent&lt;BR /&gt;&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; - Standard message ID&lt;BR /&gt;&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; - Bit rate switch enabled to use a different &lt;U&gt;bitrate for the data segment&lt;/U&gt;&lt;BR /&gt;&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; - Flexible data rate enabled&lt;BR /&gt;&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; - Use zeros for FD padding&lt;BR /&gt;&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; */&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;STRONG&gt; (&lt;/STRONG&gt;&lt;STRONG&gt;canToggle&lt;/STRONG&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;#ifdef&lt;/STRONG&gt;&lt;STRONG&gt; CAN1_ENABLE&lt;/STRONG&gt;&lt;BR /&gt;&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; can_buff_config_t buffCfg1 =&amp;nbsp; {&lt;BR /&gt;&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; .enableFD = false,&lt;BR /&gt;&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; .enableBRS = true,&lt;BR /&gt;&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; .fdPadding = 0U,&lt;BR /&gt;&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; .idType = &lt;I&gt;CAN_MSG_ID_STD&lt;/I&gt;&lt;I&gt;,&lt;/I&gt;&lt;BR /&gt;&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; .isRemote = false&lt;BR /&gt;&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; };&lt;BR /&gt;&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; /* Configure TX buffer with index TX_MAILBOX*/&lt;BR /&gt;&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; CAN_ConfigTxBuff(&amp;amp;can_1_instance, 2, &amp;amp;buffCfg1);&lt;BR /&gt;&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; /* Prepare message to be sent */&lt;BR /&gt;&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; can_message_t message1 = {&lt;BR /&gt;&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; .cs = 0U,&lt;BR /&gt;&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; .id = 0x0C1,&lt;BR /&gt;&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; .data[0] = 0x01,&lt;BR /&gt;&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; .data[1] = 0x23,&lt;BR /&gt;&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; .data[2] = 0x45,&lt;BR /&gt;&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; .data[3] = 0x67,&lt;BR /&gt;&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; .data[4] = 0x89,&lt;BR /&gt;&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; .data[5] = 0xAB,&lt;BR /&gt;&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; .data[6] = 0xCD,&lt;BR /&gt;&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; .data[7] = 0xEF,&lt;BR /&gt;&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; .length = 8U&lt;BR /&gt;&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; };&lt;BR /&gt;&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; /* Send the information via CAN */&lt;BR /&gt;&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; CAN_Send(&amp;amp;can_1_instance, 2, &amp;amp;message1);&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;#endif&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;#ifdef&lt;/STRONG&gt;&lt;STRONG&gt; CAN0_ENABLE&lt;/STRONG&gt;&lt;BR /&gt;&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; can_buff_config_t buffCfg =&amp;nbsp; {&lt;BR /&gt;&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; .enableFD = false,&lt;BR /&gt;&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; .enableBRS = true,&lt;BR /&gt;&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; .fdPadding = 0U,&lt;BR /&gt;&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; .idType = &lt;I&gt;CAN_MSG_ID_STD&lt;/I&gt;&lt;I&gt;,&lt;/I&gt;&lt;BR /&gt;&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; .isRemote = false&lt;BR /&gt;&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; };&lt;BR /&gt;&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; /* Configure TX buffer with index TX_MAILBOX*/&lt;BR /&gt;&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; CAN_ConfigTxBuff(&amp;amp;can_0_instance, 1, &amp;amp;buffCfg);&lt;BR /&gt;&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; /* Prepare message to be sent */&lt;BR /&gt;&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; can_message_t message = {&lt;BR /&gt;&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; .cs = 0U,&lt;BR /&gt;&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; .id = TX_MSG_ID,&lt;BR /&gt;&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; .data[0] = 0x01,&lt;BR /&gt;&lt;BR /&gt;.data[1] = 0x23,&lt;BR /&gt;&lt;BR /&gt;.data[2] = 0x45,&lt;BR /&gt;&lt;BR /&gt;.data[3] = 0x67,&lt;BR /&gt;&lt;BR /&gt;.data[4] = 0x89,&lt;BR /&gt;&lt;BR /&gt;.data[5] = 0xAB,&lt;BR /&gt;&lt;BR /&gt;.data[6] = 0xCD,&lt;BR /&gt;&lt;BR /&gt;.data[7] = 0xEF,&lt;BR /&gt;&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; .length = 8U&lt;BR /&gt;&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; };&lt;BR /&gt;&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; /* Send the information via CAN */&lt;BR /&gt;&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; CAN_Send(&amp;amp;can_0_instance, 1, &amp;amp;message);&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;#endif&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;canToggle ^= 1;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 May 2023 10:27:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1650253#M22920</guid>
      <dc:creator>johngreenjets</dc:creator>
      <dc:date>2023-05-15T10:27:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to implement two CAN channels on UCANS32K146  dev board (using SDK example can_pal_s32k146 )</title>
      <link>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1654216#M23105</link>
      <description>&lt;P&gt;I programed your project on S32K146EVB and connect external CAN transceiver on CAN1_TX(PTA13) CAN1_RX(PTA12). I am able to receive CAN frame from CAN0 and CAN1 at the same time. Did you connect the two CAN signals of UCANS32K146 to the two channels of PEAK_CAN as shown in the figure below? I am using PEAK-USB Pro.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAN connection PEAK_CAN UCANS32K146.png" style="width: 658px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/224076i301564FB9CBC59F2/image-size/large?v=v2&amp;amp;px=999" role="button" title="CAN connection PEAK_CAN UCANS32K146.png" alt="CAN connection PEAK_CAN UCANS32K146.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="can_pal_s32k146 without error.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/224077i716EFCD6162E7298/image-size/large?v=v2&amp;amp;px=999" role="button" title="can_pal_s32k146 without error.png" alt="can_pal_s32k146 without error.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 22 May 2023 03:30:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1654216#M23105</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2023-05-22T03:30:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to implement two CAN channels on UCANS32K146  dev board (using SDK example can_pal_s32k146 )</title>
      <link>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1655546#M23187</link>
      <description>&lt;P&gt;Hi Robin&lt;/P&gt;&lt;P&gt;Interesting to hear it works for you.&lt;/P&gt;&lt;P&gt;I have both CAN0 and CAN1 buses connected together with the PEAK CAN USB spliced into the bus - see picture below...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_2-1684832142648.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/224414i00734D01CBE78528/image-size/large?v=v2&amp;amp;px=999" role="button" title="johngreenjets_2-1684832142648.png" alt="johngreenjets_2-1684832142648.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have also fitted 60R terminating resistors on the board for both CAN channels i.e. R23 &amp;amp; R24 for CAN1 and&amp;nbsp;R3 &amp;amp; R4 for CAN0...&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_3-1684832261078.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/224416i4158414A3CE280ED/image-size/medium?v=v2&amp;amp;px=400" role="button" title="johngreenjets_3-1684832261078.png" alt="johngreenjets_3-1684832261078.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="johngreenjets_4-1684832337994.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/224417iF39C618880E6E039/image-size/medium?v=v2&amp;amp;px=400" role="button" title="johngreenjets_4-1684832337994.png" alt="johngreenjets_4-1684832337994.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As both CAN0 and CAN1 buses are connected together, I checked that the bus impedance is 60R.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 23 May 2023 09:01:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1655546#M23187</guid>
      <dc:creator>johngreenjets</dc:creator>
      <dc:date>2023-05-23T09:01:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to implement two CAN channels on UCANS32K146  dev board (using SDK example can_pal_s32k146 )</title>
      <link>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1656481#M23246</link>
      <description>&lt;P&gt;The root cause is PINS_DRV_SetPinsDirection(STB_PORT, (1 &amp;lt;&amp;lt; CAN0_STB)); and PINS_DRV_SetPinsDirection(STB_PORT, (1 &amp;lt;&amp;lt; CAN1_STB)); . The default pin setting already configure the direction of CAN0_STB and&amp;nbsp;CAN1_STB as output. But&amp;nbsp;PINS_DRV_SetPinsDirection reconfigure one of pin as input.&lt;/P&gt;
&lt;P&gt;The project is able to work on S32K146EVB &lt;SPAN&gt;is due to there is no STB pin on my&lt;/SPAN&gt;&amp;nbsp;external &lt;SPAN&gt;CAN transceiver.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 24 May 2023 09:00:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-implement-two-CAN-channels-on-UCANS32K146-dev-board-using/m-p/1656481#M23246</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2023-05-24T09:00:06Z</dc:date>
    </item>
  </channel>
</rss>

