STM8 IAR入门:EXTI外部中断与LED控制

4星 · 超过85%的资源 需积分: 50 34 下载量 179 浏览量 更新于2024-09-09 收藏 121KB DOC 举报
本资源是一篇关于使用IAR集成开发环境(Integrated Development Environment)进行STM8微控制器编程的教程,特别是针对初学者设计了一个实例,涉及到EXTI(External Interrupt)外部中断控制器的使用。作者首先描述了开发环境中的硬件配置,例如一个带有唯一按键的三合一开发板,按键连接到STM8S207SB的PD7引脚,并做了上拉处理。LED1被选为控制对象,通过按键操作实现亮灭切换。 程序的核心部分包括初始化GPIO(General Purpose Input/Output)和EXTI模块。GPIO初始化设置了PD端口为推挽输出,配置PD3为LED1的驱动,同时使能PD7的外部中断。EXTI_init函数则配置了PD口的下降沿触发中断。 中断处理部分尤为关键,文章指出中断向量号的设定需根据STM8微控制器的实际特性。作者原本误将EXTI3的中断向量号(6)加上2(即0x08),导致按键按下时程序陷入中断无法响应。经过查阅芯片手册,发现PD7的中断是通过TLI(Timer Line Interrupt)管理的,它具有最高级别的中断优先级,独立的中断向量号0。因此,根据IAR的规则,正确设置中断向量为0x02,从而使程序能够正确响应按键输入。 在`main`函数中,通过调用`init_devices`函数,包括初始化GPIO、EXTI并关闭和开启全局中断,实现了程序的基本流程。主循环内没有额外的操作,仅包含一个无限循环,等待用户的按键操作。 这篇教程详细介绍了如何使用IAR集成开发工具配合STM8微控制器进行基础的外部中断编程,包括中断向量的理解和应用,对初学者理解和实践IAR开发过程有较高的参考价值。