打印

STM32中断问题,比较有意思

[复制链接]
2583|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fqingy2003|  楼主 | 2008-11-3 12:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说实话,STM32的中断还是我首次遇到的一些麻烦的问题,有些中断响应看是有道理,好像又没有道理!
简单的说,就说串口吧,只要将串口使能,发送使能,哈哈串口就进入了中断响应,可是我玩过其他CPU不会有这种现象,都是在向发送缓冲区写入数据后才会有中断的,比如51吧,但这个也符合它的文档,发送缓冲区空就产生中断。
还有就说它RTC了,那个中断让我莫名其妙,现在都没有搞明白,一开就中断,就连RTC的初始化还没有完成就中断了,实在是太快了,不过这个也是符合它的文档说明,减到0就中断嘛,可是丫上电就是0,你说一开中断他中断不,更奇怪的就说那个RTC中断例程了,原例程测试没有问题,可是在中断里面加点东东,黑,就会有莫名其妙的问题,中断执行的东西总是比中断次数要多,这是我课题组一直没有解决的问题。

哈哈,当然还有很多中断都这样,不太合常理!
沙发
ddb_21ic| | 2008-11-3 14:23 | 只看该作者

我在定时中断实验时,遇到相似的问题

在开中断前,先清除终端标志就行了:
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);

可能是初始化定时器时,更新事件已经发生了。
你遇到的问题可能类似。

使用特权

评论回复
板凳
myworkmail| | 2008-11-4 09:38 | 只看该作者

定时器我也遇到过同样的问题,请香水解释一下

定时器我也遇到过同样的问题,请香水解释一下

使用特权

评论回复
地板
香水城| | 2008-11-4 10:50 | 只看该作者

3楼的方法是正确的

各家的MCU构造不一样,当然用法也不一样,不能简单地把在其它MCU上应用的方法简单地套用到另一款的MCU上。

使用特权

评论回复
5
fqingy2003|  楼主 | 2008-11-16 13:51 | 只看该作者

不是那么回事情

因为该芯片计数器基本上是采用递减方式计数的,上电复位后计数器的值为零,如果你开中断就就会效应中断,在开中断前,你是清不调中断标志的,不信你可以试试他的RTC

使用特权

评论回复
6
amingriyue| | 2008-11-16 22:48 | 只看该作者

我遇到过你这种情况的

其实不是你说的那种情况的,是因为STM32有发送缓冲区空中断,当你开这个中断的时候,而缓冲区没写入数据,当然就开始中断了,接着发送数据了。
呵呵,不知道我说的是不是你遇到的情况哦。。。

使用特权

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

本版积分规则

36

主题

124

帖子

0

粉丝