在线时间2220 小时
UID3253523
注册时间2016-3-21
NXP金币2851
该用户从未签到
超级版主
 
- 积分
- 24861
- 最后登录
- 2025-7-18
|
发表于 2017-4-26 14:01:46
|
显示全部楼层
1. 可以的,关键取决于你.S文件里面的名称, 查看startup_MK64F12.s 文件里面
如果要改名称,就在这里对应的中断向量表中改。
2.
void GPIO_ClearPinsInterruptFlags(GPIO_Type *base, uint32_t mask)
{
uint8_t instance;
PORT_Type *portBase;
instance = GPIO_GetInstance(base);
portBase = s_portBases[instance];
portBase->ISFR = mask;
}
mask是你对应的Port口,实际上你写的不对。
你看官方代码是这样写的
GPIO_ClearPinsInterruptFlags(BOARD_SW_GPIO, 1U << BOARD_SW_GPIO_PIN);
BOARD_SW_GPIO=GPIOA
BOARD_SW_GPIO_PIN=4U
其实就是清除PTA4. 清除是寄存器PORTA_ISFR的bit4.
3. 优先级配置是通过NVIC_SetPriority去配置
__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
在core_cm4.h中。
|
|