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

查看: 7418|回复: 2

问题:使用STM8库函数 用IAR无法正常触发外部中断

[复制链接]

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-9-1 19:02:45 | 显示全部楼层 |阅读模式
 大家好,本人初学STM8,使用STM8库函数 用IAR无法正常触发外部中断;
我的做法是:开机,让LED闪烁2次,进入Halt模式;然后 用PB0的按键做外部下降缘触发唤醒,唤醒后LED快速闪烁;
现象是:进入了Halt模式后(不确定是否进去,反正LED一直听着——应该说明CPU已经停止运行了),按按键没有任何反应。貌似是触发不成功?
从早上查到现在,收获甚微。有人说:@far @interrupt void NonHandledInterrupt (void);(在这个文件中stm8_interrupt_vector.c)要做什么设置。但是我发现库文件夹没有 "stm8_interrupt_vector.c"这个文件啊?
烦请会的人给出参考答案或者参考程序、意见等。先谢谢大侠们!
<
回复

使用道具 举报

24

主题

555

回帖

2

蝴蝶豆

高级会员

最后登录
2020-11-30
发表于 2013-9-2 14:10:52 | 显示全部楼层

RE:问题:使用STM8库函数 用IAR无法正常触发外部中断

连上仿真器,在中断函数里设置断点,运行看能不能进入断点,才能判断是不是进入中断
回复 支持 反对

使用道具 举报

22

主题

456

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-20
发表于 2013-9-6 09:53:55 | 显示全部楼层

回复:问题:使用STM8库函数 用IAR无法正常触发外部中断

建议楼主把你的程序发上来吧,根据你的描述,你的按键中断程序根本就没有,怎么会进入中断呢。CPU进入halt模式没问题,你的按键中断处理内容是空的,所以不会做按键处理的。
要解决这个问题,首先设置按键配置(包含端口配置,触发沿设置),再设置中断优先级,然后再在中断函数里面实现相应的按键中断内容:举个例子,
INTERRUPT_HANDLER(EXTI_PORTB_IRQHandler, 4)
{
  /* In order to detect unexpected events during development,
     it is recommended to set a breakpoint on the following instruction.
  */
 
  port_b_data=GPIO_ReadInputData(GPIOB);
 
  key_data=port_b_data&amp;0xf0;
 
  switch(key_data)
  {
  case 0x70:
      uart_putchar ('3');
      break;
   case 0xb0:
       uart_putchar ('2');
       break;      
   case  0xd0:
       uart_putchar ('1');
       break;
  case 0xe0:
       uart_putchar ('0');
       break;
  default :
    uart_putchar ('?');
  }
实现一个这样的程序,让按键才能触发呢
 
 
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版