diff --git a/Examples/HAL/SPI/Waveshare_1.54_EPaper/EPD_Config.h b/Examples/HAL/SPI/Waveshare_1.54_EPaper/EPD_Config.h new file mode 100644 index 0000000..0fe922f --- /dev/null +++ b/Examples/HAL/SPI/Waveshare_1.54_EPaper/EPD_Config.h @@ -0,0 +1,126 @@ +/***************************************************************************** +* | File : EPD_Config.h +* | Author : Waveshare team +* | Function : Hardware underlying interface +* | Info : +* Used to shield the underlying layers of each master +* and enhance portability +*---------------- +* | This version: V2.0 +* | Date : 2018-10-30 +* | Info : +* 1.add: +* UBYTE\UWORD\UDOUBLE +* 2.Change: +* EPD_RST -> EPD_RST_PIN +* EPD_DC -> EPD_DC_PIN +* EPD_CS -> EPD_CS_PIN +* EPD_BUSY -> EPD_BUSY_PIN +* 3.Remote: +* EPD_RST_1\EPD_RST_0 +* EPD_DC_1\EPD_DC_0 +* EPD_CS_1\EPD_CS_0 +* EPD_BUSY_1\EPD_BUSY_0 +* 3.add: +* #define DEV_Digital_Write(_pin, _value) bcm2835_gpio_write(_pin, _value) +* #define DEV_Digital_Read(_pin) bcm2835_gpio_lev(_pin) +* #define DEV_SPI_WriteByte(__value) bcm2835_spi_transfer(__value) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#ifndef _EPD_CONFIG_H_ +#define _EPD_CONFIG_H_ + +#include +#include +#include "main.h" +#include "py32f0xx_hal_spi.h" + +/** + * Uncomment to enable the part +*/ +// #define EPD_1IN02 +// #define EPD_1IN54_V2 +#define EPD_1IN54 +// #define EPD_1IN54B_V2 +// #define EPD_1IN54B +// #define EPD_1IN54C +// #define EPD_1IN64G +// #define EPD_2IN7_V2 +// #define EPD_2IN7 +// #define EPD_2IN7B_V2 +// #define EPD_2IN7B +// #define EPD_2IN9_V2 +// #define EPD_2IN9 +// #define EPD_2IN9B_V3 +// #define EPD_2IN9BC +// #define EPD_2IN9D +// #define EPD_2IN13_V2 +// #define EPD_2IN13_V3 +// #define EPD_2IN13 +// #define EPD_2IN13B_V3 +// #define EPD_2IN13B_V4 +// #define EPD_2IN13BC +// #define EPD_2IN13D +// #define EPD_2IN36G +// #define EPD_2IN66 +// #define EPD_2IN66B +// #define EPD_3IN0G +// #define EPD_3IN7 +// #define EPD_3IN52 +// #define EPD_4IN01F +// #define EPD_4IN2 +// #define EPD_4IN2B_V2 +// #define EPD_4IN2BC +// #define EPD_4IN37G +// #define EPD_5IN65F +// #define EPD_5IN83_V2 +// #define EPD_5IN83 +// #define EPD_5IN83B_V2 +// #define EPD_5IN83BC +// #define EPD_7IN3F +// #define EPD_7IN3G +// #define EPD_7IN5_HD +// #define EPD_7IN5_V2 +// #define EPD_7IN5 +// #define EPD_7IN5B_HD +// #define EPD_7IN5B_V2 +// #define EPD_7IN5BC + +#define EPD_DEBUG 1 + +/** + * e-Paper GPIO + */ +#define EPD_RST_PIN GPIOA, GPIO_PIN_0 +#define EPD_DC_PIN GPIOA, GPIO_PIN_5 +#define EPD_CS_PIN GPIOA, GPIO_PIN_6 +#define EPD_BUSY_PIN GPIOA, GPIO_PIN_4 + +/** + * GPIO read and write + */ +#define EPD_Digital_Write(_pin, _value) HAL_GPIO_WritePin(_pin, _value) +#define EPD_Digital_Read(_pin) HAL_GPIO_ReadPin(_pin) + +#define EPD_SPI_WriteByte(_value) SPI_TxRxByte(_value) +#define EPD_Delay_ms(__xms) HAL_Delay(__xms) + +#endif diff --git a/Examples/HAL/SPI/Waveshare_1.54_EPaper/main.c b/Examples/HAL/SPI/Waveshare_1.54_EPaper/main.c new file mode 100644 index 0000000..1fd2530 --- /dev/null +++ b/Examples/HAL/SPI/Waveshare_1.54_EPaper/main.c @@ -0,0 +1,110 @@ +/*** + * Demo: Waveshare 1.54' E-Paper + * + * PY32 E-Paper + * PA0 ------> Reset + * PA1 ------> SCL/SCK + * PA4 ------> Busy + * PA5 ------> DC/A0 + * PA6 ------> CSN + * PA7 ------> SDA/MOSI + * + * PA2 ------> TX + * PA3 ------> RX + */ +#include "main.h" +#include "py32f0xx_hal_spi.h" +#include "py32f0xx_bsp_clock.h" +#include "py32f0xx_bsp_printf.h" +#include "EPD_Test.h" + + +SPI_HandleTypeDef spi1Handle; + +static void APP_GPIO_Config(void); +static void APP_SPI_Config(void); + +int main(void) +{ + HAL_Init(); + BSP_HSI_PLL_48MHzClockConfig(); + BSP_USART_Config(); + printf("SystemClk:%ld\r\n", SystemCoreClock); + + APP_GPIO_Config(); + APP_SPI_Config(); + + EPD_test(); + + while (1); +} + +void SPI_TxRxByte(uint8_t data) +{ + HAL_SPI_Transmit(&spi1Handle, &data, 1, HAL_MAX_DELAY); +} + +static void APP_GPIO_Config(void) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + __HAL_RCC_GPIOA_CLK_ENABLE(); + // PA0 RESET + GPIO_InitStruct.Pin = GPIO_PIN_0; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + // PA5 DC/A0 + GPIO_InitStruct.Pin = GPIO_PIN_5; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + // PA6 CS + GPIO_InitStruct.Pin = GPIO_PIN_6; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* PA4 Busy (input) */ + GPIO_InitStruct.Pin = GPIO_PIN_4; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); +} + +static void APP_SPI_Config(void) +{ + spi1Handle.Instance = SPI1; + spi1Handle.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4; + spi1Handle.Init.Direction = SPI_DIRECTION_1LINE; + spi1Handle.Init.CLKPolarity = SPI_POLARITY_LOW; + spi1Handle.Init.CLKPhase = SPI_PHASE_1EDGE; + spi1Handle.Init.DataSize = SPI_DATASIZE_8BIT; + spi1Handle.Init.FirstBit = SPI_FIRSTBIT_MSB; + spi1Handle.Init.NSS = SPI_NSS_SOFT; + spi1Handle.Init.Mode = SPI_MODE_MASTER; + if (HAL_SPI_DeInit(&spi1Handle) != HAL_OK) + { + APP_ErrorHandler(); + } + if (HAL_SPI_Init(&spi1Handle) != HAL_OK) + { + APP_ErrorHandler(); + } +} + +void APP_ErrorHandler(void) +{ + while (1); +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Export assert error source and line number + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + while (1); +} +#endif /* USE_FULL_ASSERT */ diff --git a/Examples/HAL/SPI/Waveshare_1.54_EPaper/main.h b/Examples/HAL/SPI/Waveshare_1.54_EPaper/main.h new file mode 100644 index 0000000..43accfd --- /dev/null +++ b/Examples/HAL/SPI/Waveshare_1.54_EPaper/main.h @@ -0,0 +1,17 @@ +#ifndef __MAIN_H +#define __MAIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "py32f0xx_hal.h" + +void APP_ErrorHandler(void); +void SPI_TxRxByte(uint8_t data); + +#ifdef __cplusplus +} +#endif + +#endif /* __MAIN_H */ diff --git a/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_hal_conf.h b/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_hal_conf.h new file mode 100644 index 0000000..ada3c3f --- /dev/null +++ b/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_hal_conf.h @@ -0,0 +1,229 @@ +/** + ****************************************************************************** + * @file py32f0xx_hal_conf.h + * @author MCU Application Team + * @brief HAL configuration file. + ****************************************************************************** + * @attention + * + *

© Copyright (c) Puya Semiconductor Co. + * All rights reserved.

+ * + *

© Copyright (c) 2016 STMicroelectronics. + * All rights reserved.

+ * + * 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 + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PY32F0xx_HAL_CONF_H +#define __PY32F0xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +/* #define HAL_ADC_MODULE_ENABLED */ +/* #define HAL_CRC_MODULE_ENABLED */ +/* #define HAL_COMP_MODULE_ENABLED */ +#define HAL_FLASH_MODULE_ENABLED +#define HAL_GPIO_MODULE_ENABLED +/* #define HAL_IWDG_MODULE_ENABLED */ +/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_TIM_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +/* #define HAL_LPTIM_MODULE_ENABLED */ +#define HAL_PWR_MODULE_ENABLED +/* #define HAL_I2C_MODULE_ENABLED */ +#define HAL_UART_MODULE_ENABLED +#define HAL_SPI_MODULE_ENABLED +/* #define HAL_RTC_MODULE_ENABLED */ +/* #define HAL_LED_MODULE_ENABLED */ +/* #define HAL_EXTI_MODULE_ENABLED */ +#define HAL_CORTEX_MODULE_ENABLED + +/* ########################## Oscillator Values adaptation ####################*/ + +#if !defined (HSI_VALUE) + #define HSI_VALUE ((uint32_t)8000000) /*!< Value of the Internal oscillator in Hz */ +#endif /* HSI_VALUE */ + +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + */ +#if !defined (HSE_VALUE) + #define HSE_VALUE ((uint32_t)24000000) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT ((uint32_t)200) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal Low Speed Internal oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) + #define LSI_VALUE ((uint32_t)32768) /*!< LSI Typical Value in Hz */ +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature. */ + +/** + * @brief Adjust the value of External Low Speed oscillator (LSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE ((uint32_t)32768) /*!< Value of the External oscillator in Hz*/ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */ +#define PRIORITY_HIGHEST 0 +#define PRIORITY_HIGH 1 +#define PRIORITY_LOW 2 +#define PRIORITY_LOWEST 3 +#define TICK_INT_PRIORITY ((uint32_t)PRIORITY_LOWEST) /*!< tick interrupt priority (lowest by default) */ +#define USE_RTOS 0 +#define PREFETCH_ENABLE 0 + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ +#ifdef HAL_MODULE_ENABLED + #include "py32f0xx_hal.h" +#endif /* HAL_MODULE_ENABLED */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "py32f0xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED + #include "py32f0xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "py32f0xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "py32f0xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "py32f0xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "py32f0xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "py32f0xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_COMP_MODULE_ENABLED +#include "py32f0xx_hal_comp.h" +#endif /* HAL_COMP_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED + #include "py32f0xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "py32f0xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "py32f0xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "py32f0xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "py32f0xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "py32f0xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "py32f0xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_LPTIM_MODULE_ENABLED + #include "py32f0xx_hal_lptim.h" +#endif /* HAL_LPTIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "py32f0xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "py32f0xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "py32f0xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + +#ifdef __cplusplus +} +#endif + +#endif /* __PY32F0xx_HAL_CONF_H */ + +/************************ (C) COPYRIGHT Puya *****END OF FILE******************/ diff --git a/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_hal_msp.c b/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_hal_msp.c new file mode 100644 index 0000000..aa96d48 --- /dev/null +++ b/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_hal_msp.c @@ -0,0 +1,61 @@ +/** + ****************************************************************************** + * @file py32f0xx_hal_msp.c + * @author MCU Application Team + * @brief This file provides code for the MSP Initialization + * and de-Initialization codes. + ****************************************************************************** + */ + +#include "main.h" + +extern SPI_HandleTypeDef spi1Handle; + +/** + * @brief Configure the Flash prefetch and the Instruction cache, + * the time base source, NVIC and any required global low level hardware + * by calling the HAL_MspInit() callback function from HAL_Init() + * + */ +void HAL_MspInit(void) +{ + +} + +void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_SPI1_CLK_ENABLE(); + + /* + * PA0 ------> Reset + * PA1 ------> SCL/SCK + * PA4 ------> Busy + * PA5 ------> DC/A0 + * PA6 ------> CSN + * PA7 ------> SDA/MOSI + */ + /* PA1 SCL/SCK */ + GPIO_InitStruct.Pin = GPIO_PIN_1; + if (hspi->Init.CLKPolarity == SPI_POLARITY_LOW) + { + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + } + else + { + GPIO_InitStruct.Pull = GPIO_PULLUP; + } + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF0_SPI1; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* PA7 SDA/MOSI */ + GPIO_InitStruct.Pin = GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF0_SPI1; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); +} diff --git a/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_it.c b/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_it.c new file mode 100644 index 0000000..2a0c9f6 --- /dev/null +++ b/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_it.c @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file py32f0xx_it.c + * @author MCU Application Team + * @brief Interrupt Service Routines. + ****************************************************************************** + * @attention + * + *

© Copyright (c) Puya Semiconductor Co. + * All rights reserved.

+ * + *

© Copyright (c) 2016 STMicroelectronics. + * All rights reserved.

+ * + * 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 + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "py32f0xx_hal.h" +#include "py32f0xx_it.h" + +/* Private includes ----------------------------------------------------------*/ +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private user code ---------------------------------------------------------*/ +/* External variables --------------------------------------------------------*/ + +/******************************************************************************/ +/* Cortex-M0+ Processor Interruption and Exception Handlers */ +/******************************************************************************/ +/** + * @brief This function handles Non maskable interrupt. + */ +void NMI_Handler(void) +{ +} + +/** + * @brief This function handles Hard fault interrupt. + */ +void HardFault_Handler(void) +{ + while (1) + { + } +} + +/** + * @brief This function handles System service call via SWI instruction. + */ +void SVC_Handler(void) +{ +} + +/** + * @brief This function handles Pendable request for system service. + */ +void PendSV_Handler(void) +{ +} + +/** + * @brief This function handles System tick timer. + */ +void SysTick_Handler(void) +{ + HAL_IncTick(); +} + +/******************************************************************************/ +/* PY32F0xx Peripheral Interrupt Handlers */ +/* Add here the Interrupt Handlers for the used peripherals. */ +/* For the available peripheral interrupt handler names, */ +/* please refer to the startup file. */ +/******************************************************************************/ + +/************************ (C) COPYRIGHT Puya *****END OF FILE******************/ diff --git a/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_it.h b/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_it.h new file mode 100644 index 0000000..447d294 --- /dev/null +++ b/Examples/HAL/SPI/Waveshare_1.54_EPaper/py32f0xx_it.h @@ -0,0 +1,48 @@ +/** + ****************************************************************************** + * @file py32f0xx_it.h + * @author MCU Application Team + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© Copyright (c) Puya Semiconductor Co. + * All rights reserved.

+ * + *

© Copyright (c) 2016 STMicroelectronics. + * All rights reserved.

+ * + * 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 + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PY32F0XX_IT_H +#define __PY32F0XX_IT_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Private includes ----------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions prototypes ---------------------------------------------*/ +void NMI_Handler(void); +void HardFault_Handler(void); +void SVC_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __PY32F0XX_IT_H */ + +/************************ (C) COPYRIGHT Puya *****END OF FILE******************/