查看: 2240|回复: 0
打印 上一主题 下一主题

c语言这种用法俺是第一次见,弄不明白,大火帮分析下

[复制链接]
跳转到指定楼层
沙发
发表于 2015-6-14 17:04:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

       
搜索
搜索       
热搜: 净化器雕刻机阿莫邮购
amoBBS 阿莫电子论坛?论坛首页?单片机?CortexM3?c语言这种用法俺是第一次见,弄不明白,大火帮分析下。 ...bottom↓
返回列表发新帖
查看: 7685|回复: 23
打印 上一主题 下一主题 c语言这种用法俺是第一次见,弄不明白,大火帮分析下。 [复制链接]
McuY

电梯直达跳转到指定楼层 1楼
发表于 2010-7-31 13:26:30 | 只看该作者 回帖奖励
//这个函数调用的参数很奇怪
NVIC_EnableIRQ(EINT2_IRQn);

//函数定义
static __INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
{
  NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* enable interrupt */
}

//参数是个枚举类型
typedef enum IRQn
{
/******  Cortex-M3 Processor Exceptions Numbers ***************************************************/
  NonMaskableInt_IRQn           = -14,      /*!< 2 Non Maskable Interrupt                         */
  MemoryManagement_IRQn         = -12,      /*!< 4 Cortex-M3 Memory Management Interrupt          */
  BusFault_IRQn                 = -11,      /*!< 5 Cortex-M3 Bus Fault Interrupt                  */
  UsageFault_IRQn               = -10,      /*!< 6 Cortex-M3 Usage Fault Interrupt                */
  SVCall_IRQn                   = -5,       /*!< 11 Cortex-M3 SV Call Interrupt                   */
  DebugMonitor_IRQn             = -4,       /*!< 12 Cortex-M3 Debug Monitor Interrupt             */
  PendSV_IRQn                   = -2,       /*!< 14 Cortex-M3 Pend SV Interrupt                   */
  SysTick_IRQn                  = -1,       /*!< 15 Cortex-M3 System Tick Interrupt               */

/******  LPC13xx Specific Interrupt Numbers *******************************************************/
  WAKEUP0_IRQn                  = 0,        /*!< All I/O pins can be used as wakeup source.       */
  WAKEUP1_IRQn                  = 1,        /*!< There are 40 pins in total for LPC17xx           */
  ......
  ......
  EINT3_IRQn                    = 53,       /*!< External Interrupt 3 Interrupt                   */
  EINT2_IRQn                    = 54,       /*!< External Interrupt 2 Interrupt                   */
  EINT1_IRQn                    = 55,       /*!< External Interrupt 1 Interrupt                   */
  EINT0_IRQn                    = 56,       /*!< External Interrupt 0 Interrupt                   */
} IRQn_Type;

没搞明白的是 EINT2_IRQn 为什么可以直接用呢?
转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表