OpenEdv-开源电子网

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

请问中断处理程序的问题

[复制链接]

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
发表于 2012-2-28 11:26:20 | 显示全部楼层 |阅读模式
中断处理程序方面有几个问题想请教下:
1.一些资源保护方面要注意什么呢?系统自动保护资源会保护到什么程度呢?要小心什么?
2.如果主程序中调用一个函数,而中断处理程序中也调用这个函数,会不会有问题呢?例如外中断实验中的中断处理程序中用了delay_ms(10); 这方面要注意什么呢?
谢谢。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-28 11:35:49 | 显示全部楼层
回复【楼主位】gz_ddc:
---------------------------------
1,现场保护由STM32自己完成.中断程序越短越好.
2,你的程序如果是可重入的就无问题.如果是不可重入的,就有可能有问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-2-28 11:43:10 | 显示全部楼层
关于回复的第二点,如果是有问题,编译器会找得出错误,一定会提示吗?
谢谢。

回复【2楼】正点原子:
---------------------------------
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-2-28 11:53:46 | 显示全部楼层
另外想请教一下,外中断教程中的void EXTI15_10_IRQHandler(void)  这个中断处理函数名是怎定义的?有定义规范吗?我在 stm32f10x_it.h 中见到一些中断处理函数名,但不清楚具体是怎定义要求的。

回复【2楼】正点原子:
---------------------------------
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-28 11:57:25 | 显示全部楼层
 回复【3楼】gz_ddc:
---------------------------------
是否可重入,编译器是不报错的.
在.s文件里面定义.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-2-28 13:34:37 | 显示全部楼层
哦。谢谢。

回复【5楼】正点原子:
---------------------------------
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-2-29 11:44:08 | 显示全部楼层
哦,想再问问,主程序中的delay_ms函数用了SysTick的寄存器,而中断程序中又用了delay_ms,又会用到SysTick的寄存器,那么退出中断后,主程序中正在执行的delay_ms函数的SysTick寄存器组的内容恢复了吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-29 11:56:27 | 显示全部楼层
回复【7楼】gz_ddc:
---------------------------------
不会,具体你自己可以试试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-2-29 13:16:49 | 显示全部楼层
是不会恢复吗?还是不会有影响啊?

回复【8楼】正点原子:
---------------------------------
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-29 14:15:53 | 显示全部楼层
会有影响。因为这个函数是不可重入的!!!
至于为什么不可重入,自己看代码分析。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-2-29 14:28:04 | 显示全部楼层
哦。谢谢。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-21 11:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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