﻿1/**
  ******************************************************************************
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * Copyright (C) Shanghai Eastsoft Microelectronics Co., Ltd. ALL rights reserved.
  *******************************************************************************
  */

<--------------------------------------------------------------------------------
Version history:
--------------------------------------------------------------------------------->
2024-03-12	V1.0.0	AE TEAM

<--------------------------------------------------------------------------------
Demo introduction:
--------------------------------------------------------------------------------->
1. Used on the board of ES-PDS-ES32F361x:
2. UART configure: 115200, 8, 1
3. Create two tasks:
	1) LED task: Continuously toggles the LED.
                2) Key task: if key1 is pressed, request memory from the memory
                   pool to store the current system time. If key2 is pressed, read the
                   information previously stored in the allocated memory, print it, and
                   then release the memory. 
<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
Internal HRC[4MHz] PLL to 72MHz.

<--------------------------------------------------------------------------------
Pin connection: 
--------------------------------------------------------------------------------->
KEY_TOP    ----  (PB5, GPIO_PIN_1)
KEY_BOTTOM ----  (PB7, GPIO_PIN_1)     
KEY_LEFT   ----  (PB4, GPIO_PIN_1) 
KEY_RIGHT  ----  (PB6, GPIO_PIN_1) 
KEY_CENTER ----  (PD2, GPIO_PIN_1) 

UART_TX    ----  (PB10, GPIO_FUNC_3)
UART_RX    ----  (PB11, GPIO_FUNC_3)