OpenEdv-开源电子网

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

程序在启动文件死掉不动

[复制链接]

3

主题

16

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-4-24
在线时间
0 小时
发表于 2015-4-24 17:26:58 | 显示全部楼层 |阅读模式
5金钱
就做了个红外解码的程序,利用中断解码,可是不知道为什么程序死在这里,很是困惑啊~

最佳答案

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

八成是没有中断服务函数。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-24 17:26:59 | 显示全部楼层
八成是没有中断服务函数。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-4-24
在线时间
0 小时
 楼主| 发表于 2015-4-24 23:25:58 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
有中断服务函数的。。。
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-4-24
在线时间
0 小时
 楼主| 发表于 2015-4-24 23:26:42 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
启动文件的这个地方,是什么意思呢?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-24 23:56:56 | 显示全部楼层
回复【4楼】逍遥子:
---------------------------------
一般是没有中断服务函数,你看看是不是函数写错了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-4-24
在线时间
0 小时
 楼主| 发表于 2015-4-25 11:06:57 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
有没有可能是硬件的原因呢(1.VDDA和VCC3.3以及VSSA和DGND没做很好的滤波,如LC等 2.板子布线不好,四层板,有可能部分信号线没走好),比如管脚一直有脉冲刺激(波动的电压)产生外部中断请求,导致一直不停的在进中断。
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-4-24
在线时间
0 小时
 楼主| 发表于 2015-4-25 11:22:34 | 显示全部楼层
[mw_shl_code=c,true]void EXTI3_IRQHandler(void) { u8 Tim=0,Ok=0,Data,Num=0; while(1) { if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)==0) { Tim=HW_jssj();//?????????????????±??,Tim??20us???? if(Tim>=330) break;//?????????????? if(Tim>=216 && Tim<324) //4.32ms-6.48ms { Ok=1;//???????????? } else if(Tim>=16 && Tim<=24) //320us-480us { Data=1;//???????? 1 } else if(Tim>=56 && Tim<84) //1.12ms-1.68ms { Data=0;//???????? 0 } if(Ok==1) { hw_jsm<<=1; hw_jsm+=Data; if(Num>=32) { hw_jsbz=1; break; } } Num++; } } EXTI_ClearITPendingBit(EXTI_Line3); }[/mw_shl_code]
代码附上   检测低电平的时间来确定起始信号(低电平持续5.4ms)、0(低电平持续1.4ms)、1(低电平持续0.4ms),时序上已预留20%的余量,外部中断采用下降沿触发。
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2012-4-26
在线时间
1 小时
发表于 2016-6-6 09:33:04 | 显示全部楼层
mark。。。
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2017-6-27
在线时间
3 小时
发表于 2017-8-25 09:31:11 | 显示全部楼层
请问您上次遇到的程序死在启动文件的问题解决了吗
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 13:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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