mirror of
https://github.com/STMicroelectronics/STM32CubeF3.git
synced 2025-04-30 13:48:58 +08:00
/** @page CAN_Networking CAN Networking example @verbatim ******************** (C) COPYRIGHT 2016 STMicroelectronics ******************* * @file CAN/CAN_Networking/readme.txt * @author MCD Application Team * @brief Description of the CAN Networking example. ****************************************************************************** * @attention * * <h2><center>© Copyright (c) 2016 STMicroelectronics. * All rights reserved.</center></h2> * * This software component is licensed by ST under BSD 3-Clause license, * the "License"; You may not use this file except in compliance with the * License. You may obtain a copy of the License at: * opensource.org/licenses/BSD-3-Clause * ****************************************************************************** @endverbatim @par Example Description 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, all LEDs are OFF on the N eval boards - By Pressing on Key push-button : LED1 turns ON and all other LEDs are OFF, on the N eval boards connected to the bus. - Press on Key push-button again to send CAN Frame to command LEDn+1 ON, all other LEDs are OFF on the N eval boards. @note This example is tested with a bus of 3 units. The same program example is loaded in all units to send and receive frames. @note Any unit in the CAN bus may play the role of sender (by pressing Key push-button) or receiver. The CAN is configured as follows: - 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 @par Directory contents - CAN/CAN_Networking/Inc/stm32f3xx_hal_conf.h HAL configuration file - CAN/CAN_Networking/Inc/stm32f3xx_it.h DMA interrupt handlers header file - CAN/CAN_Networking/Inc/main.h Header for main.c module - CAN/CAN_Networking/Src/stm32f3xx_it.c DMA interrupt handlers - CAN/CAN_Networking/Src/main.c Main program - CAN/CAN_Networking/Src/stm32f3xx_hal_msp.c HAL MSP file - CAN/CAN_Networking/Src/system_stm32f3xx.c STM32F3xx system source file @par Hardware and Software environment - This example runs on STM32F373xC devices. - This example has been tested with STM32373C-EVAL RevB board and can be easily tailored to any other supported device and development board. - STM32373C-EVAL RevB Set-up - Use LED1, LED2, LED3 and LED4 connected respectively to PC.00, PC.01, PC.02 and PC.03 pins - Use Key push-button connected to PA.02 - Connect a male/male CAN cable between at least 2 EVAL CAN connectors (CN5) - You have to configure the jumpers as follows: @verbatim +-------------------------------+ | Jumper | CAN1 | +-------------------------------+ | JP3 | 1-2 | | JP2 | fitted | +-------------------------------+ @endverbatim @par How to use it ? In order to make the program work, you must do the following: - Open your preferred toolchain - Rebuild all files and load your image into target memory - Run the example * <h3><center>© COPYRIGHT STMicroelectronics</center></h3> */