Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Enabling the CAN bus interface means, that the CAN controller will go in activemode and is will be ready for communication. Example: The CAN bus (Bus that we have configured in the chapter above) shall be enabled.

Source code:

#include “can_bus.h”

void Com_Start(void)

{

CPU_INT16S err; /*-1-*/

CanBusInit(0L); /*-2-*/

err = CanBusEnable(&CanCfg); /*-3-*/

if (err == previous section will be the source of our example. (For more info on how to configure the CAN Bus, click Here). The following code snippets are taken from can_demo.c found in $:\Micrium\Software\uC-CAN\Examples\<OS> where 'OS' is either NONE (for No-OS), uCOS-II or uCOS-III.


Code Block
languagecpp
linenumberstrue
 #include "can_bus.h"

extern  CANBUS_PARA  CanCfg;

void  App_CAN_Startup (void)
{
    CPU_INT16S    can_err;

    ...                                               [1]

    CanBusInit(0L);                                   [2]       /* Initialize CAN Objects & Bus Layer.                  */
    can_err = CanBusEnable((CANBUS_PARA *)&CanCfg);   [3]       /* Enable CAN Device according to Configuration.        */
    if (can_err != CAN_ERR_NONE)

...

/* e.g. start RX and TX tasks */

}

}

Description:

...

 {
        while (1);                                    [4]       /* Failure Handling Here.                               */
    }
                                                                /* --------------- uC/OS-III DEMO TASKs --------------- */
    ...                                               [4]
}


Panel
bgColor#f0f0f0

1] Initialization of µC/CAN Messages & Signals are found here. For more information refer to the previous sections for more details.

2] Initialize the CAN Bus Management Layer. This function call must be performed

...

ONLY once, after the reset of the system.

3] Enable the selected/configured CAN

...

Bus. The configuration variable CanCfg

...

should be the global

...

variable

...

described in the previous section.

4] This is different when running µC/CAN with NO OS. This code snippet is taken from µC/OS-II or µC/OS-III's can_demo.c file. Please refer to the can_demo.c file for No OS ('NONE') for more details.

  • For µC/OS-II or -III demos, the Operating System will create the required tasks for the demo selected.