大家好,本人初学STM8,使用STM8库函数 用IAR无法正常触发外部中断; 我的做法是:开机,让LED闪烁2次,进入Halt模式;然后 用PB0的按键做外部下降缘触发唤醒,唤醒后LED快速闪烁; 现象是:进入了Halt模式后(不确定是否进去,反正LED一直听着——应该说明CPU已经停止运行了),按按键没有任何反应。貌似是触发不成功? 从早上查到现在,收获甚微。有人说:@far @interrupt void NonHandledInterrupt (void);(在这个文件中stm8_interrupt_vector.c)要做什么设置。但是我发现库文件夹没有 "stm8_interrupt_vector.c"这个文件啊? 烦请会的人给出参考答案或者参考程序、意见等。先谢谢大侠们! |
从零开始操作STM8寄存器(风驰iCreate奉献)
【中文资料】初学STM8库函数的中文帮助软件
绝对经典的中文STM8学习手册,淘宝上学习板资料,友情大放送!
【原创教程】风驰iCreate独家开源STM8 27个例程和10多万字的pdf教程
STM8的LCD1602 4线驱动,为什么不工作
【精华资料】由零开始开发STM8
STM8S 的触摸库是如何在主程序中查询键的呢、
【精华资料】STM8的C语言编程1-14讲完整版
【精品教程】STM8系列单片机入门教程系列
STM8 第一次进中断不准【悬赏问答】
RE:问题:使用STM8库函数 用IAR无法正常触发外部中断
回复:问题:使用STM8库函数 用IAR无法正常触发外部中断
要解决这个问题,首先设置按键配置(包含端口配置,触发沿设置),再设置中断优先级,然后再在中断函数里面实现相应的按键中断内容:举个例子,
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&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 ('?');
}
实现一个这样的程序,让按键才能触发呢