OpenEdv-开源电子网

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

stm8s003中斷問題

[复制链接]

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-11-18
在线时间
16 小时
发表于 2017-3-20 07:43:38 | 显示全部楼层 |阅读模式
5金钱
加了外部中断后,开启总中断,后面其他部分程序就没有反应了7;在开启总中断之前的pwm波初始化后还是有pwm波产生。不清楚是怎么回事,后面把总中断放在那里,后面的部分就不行了。

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

使用道具 举报

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2016-11-1
在线时间
64 小时
发表于 2017-3-20 11:09:01 | 显示全部楼层
不执行是卡在哪里了啊,外部中断函数里面吗?外部中断,可以先把标志清除了,再初始化外部中断
回复

使用道具 举报

jinghong2644 该用户已被删除
发表于 2017-3-20 19:09:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-11-18
在线时间
16 小时
 楼主| 发表于 2017-3-20 20:45:18 | 显示全部楼层
jinghong2644 发表于 2017-3-20 19:09
你在外部中断函数里面有没有把外部中断的标志位给清了呢,没清除的话会频繁进中断,你可以仿真,全速跑,然 ...

程序死在初始化后開啟中斷 asm("rim");// 開啟中斷,這句話里;在程序剛開始有asm("sim");// 關閉中斷,還沒到外部中斷
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-11-18
在线时间
16 小时
 楼主| 发表于 2017-3-20 20:47:29 | 显示全部楼层
fankai 发表于 2017-3-20 11:09
不执行是卡在哪里了啊,外部中断函数里面吗?外部中断,可以先把标志清除了,再初始化外部中断

剛開啟中斷,就不行了,外部中斷標誌在STM8S003中沒有
回复

使用道具 举报

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2016-11-1
在线时间
64 小时
发表于 2017-3-20 21:55:35 | 显示全部楼层
lxl113 发表于 2017-3-20 20:47
剛開啟中斷,就不行了,外部中斷標誌在STM8S003中沒有

肯定有标志位啊,进了中断就要清除标志位的
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-11-18
在线时间
16 小时
 楼主| 发表于 2017-3-21 07:56:14 | 显示全部楼层
fankai 发表于 2017-3-20 21:55
肯定有标志位啊,进了中断就要清除标志位的

stms003中沒有EXTI_SR這個寄存器,
回复

使用道具 举报

jinghong2644 该用户已被删除
发表于 2017-3-21 09:02:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2016-11-1
在线时间
64 小时
发表于 2017-3-21 09:13:02 | 显示全部楼层
lxl113 发表于 2017-3-21 07:56
stms003中沒有EXTI_SR這個寄存器,

我看了下是这样的情况,进入中断没有清除标志的函数,你贴程序吧,或者硬件仿真一下,看看到底卡在哪了,你这样说,也不知道哪有问题
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-11-18
在线时间
16 小时
 楼主| 发表于 2017-3-21 10:02:57 | 显示全部楼层
fankai 发表于 2017-3-21 09:13
我看了下是这样的情况,进入中断没有清除标志的函数,你贴程序吧,或者硬件仿真一下,看看到底卡在哪了, ...

#include "iostm8s003f3.h"
#include "generalfunction.h"
#include "main.h"
#define  EXTI2_PB_IRQ  6

void CLK_Init3();

#pragma vector=EXTI2_PB_IRQ

__interrupt void EXTI2_PB_IRQHandler(void)
{

  if((PB_ODR &0X20)==0X20)
   PA_ODR_ODR3=~PA_ODR_ODR3;
}

void main(void)
{

  asm("sim");// 關閉中斷
  CLK_Init3();  
  GPIO_Init();
  EXTI_Init();
  PA_ODR_ODR3=1;
  while(1)
  {

  }
}  
  void CLK_Init3()      //可以在這個模式下進行HSI-HSI  
{
  CLK_SWR =0XE1;
  CLK_SWCR |=0X02;
  while((CLK_SWCR &0X01)==0X01);  //等待切換完成
  CLK_CKDIVR=0X00;
  CLK_CCOR |=0X09;
  CLK_SWCR&=(0xFD); //??切?
  PC_DDR |=0X10;    //CCO輸出
  PC_CR1 |=0X10;
  PC_CR2 |=0X10;

  
}
void GPIO_Init()
{
  PA_DDR |=0X08;
  PA_CR1 |=0X08;  //
}
void EXTI_Init()
{
  PB_DDR &=0xdf;             //PB5中斷
  PB_CR1 |=0x20;
  PB_CR2 |=0x20;
  EXTI_CR1&=0xf3;
  EXTI_CR1|=0x08;
  asm("rim");// 開啟中斷

}
這是部分程序,後面加了time4定時中斷也卡死在  asm("rim");// 開啟中斷
回复

使用道具 举报

jinghong2644 该用户已被删除
发表于 2017-3-21 10:58:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2016-11-1
在线时间
64 小时
发表于 2017-3-21 13:49:32 | 显示全部楼层
EXTI_CR1&=0xf3;
EXTI_CR1|=0x08;
你  与 或 要写清楚,这个&有什么用,这里只是下降沿触发,不知道你本意是不是这样
中断里面条件满足不了,下降沿触发,检测高电平肯定检测不到
卡在asm("rim");// 開啟中斷  这里,停止仿真后,程序在哪停的啊,肯定有个地方吧
外部中断引脚接的是按键  还是其他?
回复

使用道具 举报

5

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-9-16
在线时间
122 小时
发表于 2017-3-21 15:30:31 | 显示全部楼层
void EXTI_Init() PB5中断配置写的不对
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-11-18
在线时间
16 小时
 楼主| 发表于 2017-3-21 18:29:05 | 显示全部楼层
fankai 发表于 2017-3-21 13:49
EXTI_CR1&=0xf3;
EXTI_CR1|=0x08;
你  与 或 要写清楚,这个&有什么用,这里只是下降沿触发,不知道你本 ...

是之前的時鐘運用中斷判斷位來判斷是否結束,後面沒有關掉,開啟總中斷就執行到那裡了
回复

使用道具 举报

6

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2016-11-1
在线时间
64 小时
发表于 2017-3-21 18:46:28 | 显示全部楼层
lxl113 发表于 2017-3-21 18:29
是之前的時鐘運用中斷判斷位來判斷是否結束,後面沒有關掉,開啟總中斷就執行到那裡了

那你就在里面处理一下呗,跳出来不就行了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 00:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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