OpenEdv-开源电子网

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

stm32f1的中断对应的中断函数,都在哪里?

[复制链接]

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
发表于 2018-7-30 17:45:57 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 MNK 于 2018-7-30 18:12 编辑

stm32f1有很多中断事件,这些中断事件对应的中断函数都存放在哪里呢?那个文件?

比如systicks里的那个SysTicks_Handler()函数,就是每隔重载值时间,产生一次中断的中断入口,在stm32f10x_it.c中,用的时候需要把startup中的原来的SysTicks_Handler()函数注释掉


比如EXTI15_10_IRQHandler,这个是10-15的exti对应的中断处理函数,他在那个文件中?使用的时候需要注释掉吗?这种函数都在哪里?


stm32f10x_it.c中的中断函数,和在starup_stm32f10x_md.s中的中断入口地址有什么不同?

最佳答案

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

所有的中断服务函数的名称都是固定的, 就是你所说的starup_stm32f10x_md.s启动文件中已经定义好的,一个字也不能改。 这些函数在你的程序中也可以一个都没有,stm32f10x_it.c文件要不要都行。 你需要什么中断,就自己去编代码实现,这些中断函数建议和相应的应用放在一起,更容易移植一些。 所以stm32f10x_it.c基本没有什么鸟用,建议趁早删除此文件。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-7-30 17:45:58 | 显示全部楼层
所有的中断服务函数的名称都是固定的,
就是你所说的starup_stm32f10x_md.s启动文件中已经定义好的,一个字也不能改。
这些函数在你的程序中也可以一个都没有,stm32f10x_it.c文件要不要都行。
你需要什么中断,就自己去编代码实现,这些中断函数建议和相应的应用放在一起,更容易移植一些。
所以stm32f10x_it.c基本没有什么鸟用,建议趁早删除此文件。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 18:40:17 | 显示全部楼层
warship 发表于 2018-7-30 18:30
所有的中断服务函数的名称都是固定的,
就是你所说的starup_stm32f10x_md.s启动文件中已经定义好的,一个 ...

嗯,我会努力的
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-7-30 19:16:20 | 显示全部楼层
二楼说的对,方便代码管理的用,不过为了方便代码管理个人还是觉得留着更好。代码的中断函数最好要放到相应的.c里面,方便查看,但是这样会造成中断重复定义;例如大家都爱做个功能比较全的模板,以后写新代码,复制模板修修补补就可以了,假如定时器1的捕获和定时你都做了个.c模板,都有中断你函数,这样就会出现编译重复定义,要么屏蔽一个,要么就用回调函数式实现,各写各的中断函数,初始化的时候注册下相应的回调函数就可以了,这样就可以把中断函数原型都放到.c了;感觉就这么一点点用的了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 01:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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