OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3925|回复: 3

SysTick中断响应问题,请原子指教

[复制链接]

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2014-8-26
在线时间
2 小时
发表于 2014-11-11 16:46:32 | 显示全部楼层 |阅读模式
5金钱
static __IO uint32_t TimeDelay;

void Delay(uint32_t ntime)
{
TimeDelay = ntime;
while(TimeDelay != 0);
}

void Systick_Handler(void)
{
if(TimeDelay != 0 )
{
TimeDelay--;
}
}


int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//delay_init();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_8);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_Init(GPIOD,&GPIO_InitStructure);
GPIO_SetBits(GPIOD,GPIO_Pin_2);

if(SysTick_Config(SystemCoreClock/1000))
{
while(1);
}

例程中为SysTick中断编写了响应函数,但stm32f10x_it.c中MDK也为SysTick中断预留了空的响应函数
void SysTick_Handler(void)
{
}
那实际执行时怎样使SysTick中断进入到自己编制的函数,而不是进入stm32f10x_it.c,程序是怎么执行的?


最佳答案

查看完整内容[请看2#楼]

把stm32f10x_it.c里面的SysTick_Handler函数注销掉!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-11-11 16:46:33 | 显示全部楼层
把stm32f10x_it.c里面的SysTick_Handler函数注销掉!
开往春天的手扶拖拉机
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2014-8-26
在线时间
2 小时
 楼主| 发表于 2014-11-11 16:46:33 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
注销掉当然可以,这里是想问,对于这种问题,编译器如何处理?是什么逻辑或者编译顺序?
在学习,希望多了解一些

另外需要说明的是,不仅要在stm32f10x_it.c中将中断响应函数注释掉,还需要将函数的申明也注释掉,才能正常运行自己编写的中断程序
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-11-12 10:11:34 | 显示全部楼层
函数声明肯定也要注销掉,至于编译器如何处理的,这个我就不知道了,有一本书叫《编译原理》,专门是讲编译器的,你有兴趣的话可以去看看这本书。
开往春天的手扶拖拉机
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-29 06:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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