Example description
CAN/LoopBack Example
Example Description
This example provides a description of how to set a communication with the CAN
in loopback mode.
The CAN cell first performs a transmission and a reception of a standard data
frame by polling at 175 Kbps. The received frame is checked and some LEDs light
up to indicate whether the communication was successful. Then, an extended data
frame is transmitted at 700 Kbps. Reception is done in the interrupt handler
when the message becomes pending in the FIFO. Finally, the LEDs indicate if both
transmission and reception have been successful.
User can select CAN1 or CAN2 cell using the defines in main.h :
#define USE_CAN1
/* #define USE_CAN2*/
Directory contents
- CAN/LoopBack/system_stm32f4xx.c STM32F4xx system clock configuration file
- CAN/LoopBack/stm32f4xx_conf.h Library Configuration file
- CAN/LoopBack/stm32f4xx_it.h Interrupt handlers header file
- CAN/LoopBack/stm32f4xx_it.c Interrupt handlers
- CAN/LoopBack/main.c Main program
Hardware and Software environment
- This example runs on STM32F4xx Devices.
- This example has been tested with STM324xG-EVAL RevB and can be easily tailored
to any other development board.
- STM324xG-EVAL Set-up
- Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09
and PC.07 pins
===============================================================================
CAN/Networking Example
This example shows how to configure the CAN peripheral to send and receive
CAN frames in normal mode. The sent frames are used to control Leds by pressing
key push button.
The CAN serial communication link is a bus to which a number of units may be
connected. This number has no theoretical limit. Practically the total number
of units will be limited by delay times and/or electrical loads on the bus line.
This program behaves as follows:
- After reset LED1 is ON
- By Pressing on KEY Button : LED2 turns ON and all other Leds are OFF, on the N
eval boards connected to the bus.
- Press on KEY Button again to send CAN Frame to command LEDn+1 ON, all other Leds
are OFF on the N eval boards.
This example is tested with a bus of 3 units. The same program example is
loaded in all units to send and receive frames.
Any unit in the CAN bus may play the role of sender (by pressing KEY button)
or receiver.
The CAN is configured as follow:
- Bit Rate = 1 Mbit/s
- CAN Clock = external clock (HSE)
- ID Filter = All identifiers are allowed
- RTR = Data
- DLC = 1 byte
- Data: Led number that should be turned ON
User can select CAN1 or CAN2 cell using the defines in main.h :
#define USE_CAN1
/* #define USE_CAN2*/
Directory contents
- CAN/Networking/system_stm32f4xx.c STM32F4xx system clock configuration file
- CAN/Networking/stm32f4xx_conf.h Library Configuration file
- CAN/Networking/stm32f4xx_it.h Interrupt handlers header file
- CAN/Networking/stm32f4xx_it.c Interrupt handlers
- CAN/Networking/main.c Main program
Hardware and Software environment
- This example runs on STM32F4xx Devices.
- This example has been tested with STM324xG-EVAL RevB and can be easily tailored
to any other development board.
- STM324xG-EVAL Set-up
- Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09
and PC.07 pins
- Use KEY Push Button connected to PG15
- Connect a female/female CAN cable between at least 2 EVAL CAN connectors (CN10)
- Depending on the CAN cell used, you have to configure the jumpers as follows:
Jumper CAN1 used/CAN2 used
JP3 2-3/1-2
JP10 2-3/1-2
JP7 1-2/1-2
JP9 fitted/fitted
The "system_stm32f4xx.c" is generated by an automatic clock configuration
tool and can be easily customized to your own configuration.
To select different clock setup, use the STM32F4xx_Clock_Configuration_V1.0.0.xls tool.