⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm8_interrupt_vector.c

📁 STM8s
💻 C
字号:
/* BASIC INTERRUPT VECTORS TABLE FOR STM8 devices
 * Copyright (c) 2009 STMicroelectronics
 */

#include "stm8s_it.h"

typedef void @far (*interrupt_handler_t)(void);

struct interrupt_vector {
	u8 interrupt_instruction;
	interrupt_handler_t interrupt_handler;
};

struct interrupt_vector const _vectab[] = {
  {0x82, (interrupt_handler_t)_stext}, /* RESET */
	//{0x82, (interrupt_handler_t)main}, /* main */
  {0x82, (interrupt_handler_t)TRAP_IRQHandler}, /* TRAP - Software interrupt */
	{0x82, (interrupt_handler_t)TLI_IRQHandler}, /* irq0 - External Top Level interrupt (TLI) */
	{0x82, (interrupt_handler_t)AWU_IRQHandler}, /* irq1 - Auto Wake Up from Halt interrupt */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq2 - Clock Controller interrupt */
  {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq3 - External interrupt 0 (GPIOA) */
	{0x82, (interrupt_handler_t)EXTI_PORTB_IRQHandler}, /* irq4 - External interrupt 1 (GPIOB) */
	{0x82, (interrupt_handler_t)EXTI_PORTC_IRQHandler}, /* irq5 - External interrupt 2 (GPIOC) */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq6 - External interrupt 3 (GPIOD) */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq7 - External interrupt 4 (GPIOE) */
	
#ifdef STM8S208
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq8 - CAN Rx interrupt */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq9 - CAN Tx/ER/SC interrupt */
#elif defined (STM8S903)
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq8 - External interrupt 5 (GPIOF) */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq9 - Reserved */
#else /*STM8S207, STM8S105 or STM8S103*/
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq8 - Reserved */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq9 - Reserved */
#endif /*STM8S208*/
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq10 - SPI End of transfer interrupt */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq11 - TIM1 Update/Overflow/Trigger/Break interrupt */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq12 - TIM1 Capture/Compare interrupt */
  
#ifdef STM8S903
  {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq13 - TIM5 Update/Overflow/Break/Trigger interrupt  */
  {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq14 - TIM5 Capture/Compare interrupt */
	
#else /*STM8S208, STM8S207, STM8S105 or STM8S103*/
  {0x82, (interrupt_handler_t)TIM2_UPD_OVF_BRK_IRQHandler}, /* irq13 - TIM2 Update/Overflow/Break interrupt  */
  {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq14 - TIM2 Capture/Compare interrupt */
#endif /*STM8S903*/
	
#if defined (STM8S208) || defined(STM8S207) || defined(STM8S105)
  {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq15 - TIM3 Update/Overflow/Break interrupt */
  {0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq16 - TIM3 Capture/Compare interrupt */
#else
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq15 - Reserved */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq16 - Reserved */
#endif /*STM8S208, STM8S207 or STM8S105*/
	
#ifdef STM8S105
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq17 - Reserved */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq18 - Reserved */
#else
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq17 - UART1 Tx complete interrupt */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq18 - UART1 Rx interrupt */
#endif /*STM8S105*/
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq19 - I2C interrupt */

#if defined(STM8S208) || defined(STM8S207)

	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq20 - UART3 Tx interrupt */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq21 - UART3 Rx interrupt */
#elif defined (STM8S105)
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq20 - UART2 Tx interrupt */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq21 - UART2 Rx interrupt */

#else /* STM8S103, STM8S903 */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq20 - Reserved */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq21 - Reserved */
#endif /* STM8S208, STM8S207 */

#if defined(STM8S208) || defined(STM8S207)
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq22 - ADC2 end of conversion interrupt */
#else /* STM8S105, STM8S103, STM8S903 */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq22 - ADC1 end of conversion/Analog watchdog interrupts */

#endif /* STM8S208, STM8S207 */

#ifdef STM8S903
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq23 - TIM6 Update/Overflow/Trigger interrupt */
#else
	{0x82, (interrupt_handler_t)TIM4_UPD_OVF_IRQHandler}, /* irq23 - TIM4 Update/Overflow interrupt */
#endif /*STM8S903*/
	{0x82, (interrupt_handler_t)EEPROM_EEC_IRQHandler},  /* irq24 - FLASH interrupt */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq25 - Reserved */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq26 - Reserved */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq27 - Reserved */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq28 - Reserved */
	{0x82, (interrupt_handler_t)NonHandledInterrupt}, /* irq29 - Reserved */

};

/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -