你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm8s003中斷跳不出來

[复制链接]
garyyang1616 提问时间:2014-2-7 10:04 /
 使用stm8s003+STVD+COSMIC,使用TIM4计数中断,想要在PA1上输出Hi Lo Hi Lo方波,约0.1ms中断一次,但用示波器看PA1,其约9us中断一次,後来用debug mode来看发现进入中断後就跳不出来了,一直在中断副程式里,请教各位高手使那出问题了,以下是我的程式码main.c
/* MAIN.C file

* Copyright (c) 2002-2005 STMicroelectronics
*/
#include "iostm8s.h"

void delayms(unsigned int ms)
{
unsigned char i;
while(ms != 0)
{
<font color="#333333" style="word-wrap: break-word; font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(238, 238, 238);"><font face="Arial, Tahoma, Helvetica, FreeSans, sans-serif" style="word-wrap: break-word;">for(i=0;i
收藏 评论4 发布时间:2014-2-7 10:04

举报

4个回答
废鱼 回答时间:2014-2-7 16:38:21

RE:stm8s003中斷跳不出來

跳不出来的原因可能是没有清除对应的标志位,你看一下TIM的中断标志位,是否被清除。
garyyang1616 回答时间:2014-2-8 08:07:07

回复:stm8s003中斷跳不出來

 中断副程式的TIM4_SR=0x00;不是已经清除旗标了吗?
废鱼 回答时间:2014-2-10 10:42:52

RE:stm8s003中斷跳不出來

TIM4->SR1&=~TIM4_SR1_UIF; // clear overflow flag
例程中是这样清除的。但是我看手册中还介绍了TIMx_EGR这个寄存器,如果你用上述方法不能实现的话,就用这个寄存器来重新初始化一下计数器。
lovehxh-374732 回答时间:2014-3-13 09:29:04

RE:stm8s003中斷跳不出來

{0x82, (interrupt_handler_t)tmr4_interrupt}, /* irq23 */
改为
{0x82, tmr4_interrupt}, /* irq23 */

TIM4_SR=0x00;改为TIM4_SR        &= ~(0X01);

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版