打印

STM32F101RB的IAP问题

[复制链接]
2356|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
碧野苍穹|  楼主 | 2007-9-5 09:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
版主好:
    我最近用Keil+ulink2在STM32F101RB上开发的项目中用了ST提供的IAP作为Boot loader,应用程序放在0x8002000位置,但是我发现,我的应用程序不用Boot loader直接放在0x8000000位置时一点问题也没有,但是当我用Boot loader然后把程序烧至0x8002000位置时我通过计算机外接串口向开发板发送数据就会导至我程序一直在串口中断里跑不出来!我用Keil调试时发现串口2寄存器的IDLE中断标记位被置起来了(而我程序里面只打开三个串口的接收和发送中断),然后中断就周而复始的运行,一直没空闲执行别的程序,而程序在0x8000000时没有发现这种现象!在我不用计算机向串口2发送数据的时候,程序运行正常,所有的中断响应也正常!我都郁闷好久了,希望版主能给点建议!
沙发
碧野苍穹|  楼主 | 2007-9-6 11:00 | 只看该作者

怎么没人回答问题啊?

怎么没人回答问题啊?麻烦各位好心人帮忙解决一下啊!实在是找不到原因啊!

使用特权

评论回复
板凳
ijk| | 2007-9-6 13:12 | 只看该作者

无法退出中断

  其实STM32的中断系统很简单,跟普通8位单片机没什么区别。既然发现串口2寄存器的IDLE中断标记位导致串口2中断无法退出,那么如果不需要使用这个中断,就把它关闭掉,应该就行了。

使用特权

评论回复
地板
碧野苍穹|  楼主 | 2007-9-7 09:13 | 只看该作者

关于关中断

感谢IJK的回复,但是我不可能在程序中把接收数据的中断关掉的,最多关掉发送中断,我纳闷的是为什么不用IAP就可以,而IDLE中断我并没有打开,用IAP和不用IAP会有什么区别,我想只要把这个问题找到了,那些不退出中断的问题也就迎刃而解了!

使用特权

评论回复
5
ijk| | 2007-9-7 16:03 | 只看该作者

STM32的IAP例程

  其实,STM32的IAP例程挺简单,它甚至没有使用任何中断。并且,STM32的IAP例程全部是以源程序的方式提供的,程序流程挺简单,其中看不出有什么问题。
  现在既然是中断出问题了,那么也只好怀疑你的中断程序可能有问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

1

粉丝