/**
  @page CAN_LoopBack CAN LoopBack example
  
  @verbatim
  ******************** (C) COPYRIGHT 2014 STMicroelectronics *******************
  * @file    CAN/CAN_LoopBack/readme.txt 
  * @author  MCD Application Team
  * @version V1.4.0
  * @date    24-July-2014
  * @brief   Description of the CAN LoopBack example.
  ******************************************************************************
  *
  * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
  * You may not use this file except in compliance with the License.
  * You may obtain a copy of the License at:
  *
  *        http://www.st.com/software_license_agreement_liberty_v2
  *
  * Unless required by applicable law or agreed to in writing, software 
  * distributed under the License is distributed on an "AS IS" BASIS, 
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  *   
  ******************************************************************************
   @endverbatim

@par 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 125 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 500 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.
In polling mode, if communication succeeded LED1 turned ON otherwise LED3 is ON.
In Interrupt mode, if communication succeeded LED4 turned ON otherwise LED2 is ON.
  
@par Directory contents 

  - CAN/CAN_LoopBack/system_stm32f0xx.c   STM32F0xx system clock configuration file
  - CAN/CAN_LoopBack/stm32f0xx_conf.h     Library Configuration file
  - CAN/CAN_LoopBack/stm32f0xx_it.h       Interrupt handlers header file
  - CAN/CAN_LoopBack/stm32f0xx_it.c       Interrupt handlers
  - CAN/CAN_LoopBack/main.h               Main program  header file
  - CAN/CAN_LoopBack/main.c               Main program

@note The "system_stm32f0xx.c" is generated by an automatic clock configuration 
      system and can be easily customized to your own configuration. 
      To select different clock setup, use the "STM32F0xx_Clock_Configuration_V1.0.0.xls" 
      provided with the AN4152 package available on <a href="http://www.st.com/internet/mcu/family/141.jsp">  ST Microcontrollers </a>
         
@par Hardware and Software environment 

  - This example runs on STM32F072 Devices.
  
  - This example has been tested with STMicroelectronics STM32072B-EVAL including
    STM32F072VBT6 device and can be easily tailored to any other supported device 
    and development board.

  - STM32072B-EVAL Set-up 
    - Use LED1, LED2, LED3 and LED4 connected respectively to PD.08, PD.09, PD.10
      and PD.11 pins

 
@par How to use it ? 

In order to make the program work, you must do the following :
 - Copy all source files from this example folder to the template folder under
   Project\STM32F0xx_StdPeriph_Templates
 - Open your preferred toolchain 
 - Add the following files to the project source list
    - Utilities\STM32_EVAL\STM32072B_EVAL\stm32072b_eval.c
 - Rebuild all files and load your image into target memory
 - Run the example
    
 * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
 */
