OpenEdv-开源电子网

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

原子哥来帮忙看一下红外遥控实验的中断问题。。。

[复制链接]

7

主题

33

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2012-7-11
在线时间
0 小时
发表于 2012-7-18 20:47:10 | 显示全部楼层 |阅读模式

 在做红外遥控实验的时候,在检测的时候,当我按下遥控的时候程序就停在了脉冲宽度检测里面while(RDATA)里面。我用JLink仿真跟踪的时候发现是停在了Delay_us(20)



























Delay_us是用SysTick嘀嗒定时器写的,我在想会不会是这两个中断有冲突了。。。
然后就用一个自减的delay_nus()函数代替,红外是可以接受,但是不能读取键值,只能够显示按键按下的次数
我试了一下,在执行Delay_us(20)之前,先关闭了红外的中断,等到Delay_us()结束后再开启红外中断,还是不行。
想配置SysyTick定时器的优先级,可是固件库手册里面好像没有。。。
求原子哥帮忙看一下哪里出了问题。。。。。














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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-7-18 23:04:29 | 显示全部楼层
回复【楼主位】liash:
---------------------------------
你有没有用ucos?
死在delay_us里面,这种情况,很可能是你在其它地方设置了systick的寄存器.导致无法退出delay_us.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

33

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-7-19 10:16:11 | 显示全部楼层
回复【2楼】正点原子:
回复【楼主位】liash: --------------------------------- 你有没有用ucos? 死在delay_us里面,这种情况,很可能是你在其它地方设置了systick的寄存器.导致无法退出delay_us. 
---------------------------------
没有使用ucos。
我检查了一下,其他地方使用Delay_us的时候也只是正常调用,并没有做其他的设置,而且其他地方的延时都可以正常运行。
我配置了中断优先组为4,把按键占先式优先组配置为15 ,SysTick定时器占先式优先组配置为0。可是还是不行,程序还是死在了Delay_us 里面。。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-7-19 11:27:16 | 显示全部楼层
回复【3楼】liash:
---------------------------------
用我们的delay实现方法试试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

33

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-7-19 14:24:40 | 显示全部楼层
回复【4楼】正点原子:
回复【3楼】liash: --------------------------------- 用我们的delay实现方法试试.
---------------------------------
我把原子哥的delay函数试了下可以了。。。
怎么这个delay函数也是用systick写的不用进入到中断里面去呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-7-19 14:31:29 | 显示全部楼层
我们的用查询方式.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

33

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-7-19 16:25:03 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
原来这样。。。
貌似这样两种定时函数不能共用了。。。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 22:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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