/*!
 * @file        readme.txt
 *
 * @brief       This file is routine instruction
 *
 * @version     V1.0.0
 *
 * @date        2022-09-29
 *
 * @attention
 *
 *  Copyright (C) 2022 Geehy Semiconductor
 *
 *  You may not use this file except in compliance with the
 *  GEEHY COPYRIGHT NOTICE (GEEHY SOFTWARE PACKAGE LICENSE).
 *
 *  The program is only for reference, which is distributed in the hope
 *  that it will be usefull and instructional for customers to develop
 *  their software. Unless required by applicable law or agreed to in
 *  writing, the program is distributed on an "AS IS" BASIS, WITHOUT
 *  ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the GEEHY SOFTWARE PACKAGE LICENSE for the governing permissions
 *  and limitations under the License.
 */

&par Example Description

Is example shows how to control two HDMI-CEC devices to exchange data using interruputs.

To use this example, you need to load the same program into two APM32F072 EVAL boards
(let's call them device 01 and device 02) then connect these two boards through CEC lines.

The example software perform the following actions:
  -  At startup, device 01 and device 02 will display the menu of CEC device typle select.
  -  You need to select different type in device 01 and device 02.
  -  When the device is initialized. LCD will display initiator address and destination address.
  -  Then press enter button to enter CEC menu.
  -  In CEC menu, you can slect different user control command to send to other device. And
    LCD also will display the HDMI-CEC received package.

    *------------------------------------------------------------------------------*
    |           APMM32072VB-EVAL                        APM32072VB-EVAL            |
    |         Device Address :0x01                    Device Address :0x02         |
    |         ____________________                   ____________________          |
    |        |                    |                 |                    |         |
    |        |                    |                 |                    |         | 
    |        |                    |                 |                    |         |
    |        |    |   CEC    | CN3|____HDMI Cable___| CN3|   CEC    |    |         |
    |        |    | Device 01|    |                 |    | Device 02|    |         |
    |        |    |          |    |                 |    |          |    |         |
    |        |                    |                 |                    |         |
    |        |KEY  1   2   3   4  |                 |KEY  1   2   3   4  |         |
    |        |                    |                 |                    |         |
    |        |____________________|                 |____________________|         |
    |                                                                              |
    *------------------------------------------------------------------------------*
Menu button
  - KEY1: Previous Menu button
  - KEY2: Next Menu button
  - KEY3: Enter Menu button
  - KEY4: Return Menu button
  
&par Hardware Description
  - Device 01 CN3 -> Device 02 CN3
  - Close J1 and J3
  - Close J13
    
  - USART1 configured as follow:
  - BaudRate = 115200
  - Word Length = USART_WordLength_8b
  - Stop Bit = USART_StopBits_1
  - Parity = USART_Parity_No
  - Hardware flow control disabled (RTS and CTS signals)
  - Receive and transmit enabled

&par Directory contents

  - CEC/CEC_TwoBoardsExchange/Source/apm32f0xx_int.c     Interrupt handlers
  - CEC/CEC_TwoBoardsExchange/Source/main.c              Main program

&par IDE environment

  - MDK-ARM V5.36
  - EWARM V8.50.4.26131

&par Hardware and Software environment

  - This example runs on APM32F072 EVAL Devices.

