当前位置:首页 > 单片机 > 单片机
[导读]这块三合一的开发板上有且只有一个按键,没办法,就拿这唯一的按键来用吧。吸取前面UART3的教训,先看开发板的原理图吧。这个按键被接到了STM8S207SB的PD7上,已做了上拉处理。为了简单明了,还是点LED1吧。按一下LE

这块三合一的开发板上有且只有一个按键,没办法,就拿这唯一的按键来用吧。吸取前面UART3的教训,先看开发板的原理图吧。这个按键被接到了STM8S207SB的PD7上,已做了上拉处理。为了简单明了,还是点LED1吧。按一下LED1亮,再按一下LED1灭。好了,写程序吧。

#i nclude

#define LED1_FLASH PD_ODR_ODR3 = !PD_ODR_ODR3 // 开发板上的LED1接在PD3上

void GPIO_init(void)
{
PD_DDR = 0x08; // 配置PD端口的方向寄存器PD3输出
PD_CR1 = 0x08; // 设置PD3为推挽输出
PD_CR2 = 0x80; // 使能PD7外部中断
}

void EXTI_init(void)
{
EXTI_CR1 = 0x80; // PD口下降沿触发中断
}

#pragma vector=0x02 // 这里很关键!看下面说明。
__interrupt void EXTI_PD7_TLI(void)
{
LED1_FLASH;
}
void init_devices(void)
{
asm("sim"); // 关全局中断
GPIO_init();
EXTI_init();
asm("rim"); // 开全局中断
}

void main( void )
{
init_devices();

// 主循环里没有程序需要执行
while(1);
}

  这里着重要说明的一点是PD7的外部中断程序。看了一下芯片手册,PD口外部中断EXTI3的中断向量号是6,想当然,又是想当然,按IAR的规矩中断向量要加2,就这样写#pragma vector=0x08,结果就是按下按键,程序没响应了,一直在中断里不出来。接下来只能另想办法,仔细翻了资料后发现,PD7和PD其他端口不一样,PD7后面拖了个小尾巴TLI,再看手册上的TLI描述,乖乖,TLI拥有芯片最高级别中断,享有独立专用的中断向量号0,这下就好办了,按IAR的规矩,向量号加2,程序改成#pragma vector=0x02,重新来一遍编译、下载、运行,按键终于听话了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

MCS-51单片机有两个外部中断源INT0和INT1,它们分别在P3.2和P3.3引脚出现低电平或下降沿信号时向单片机发出中断请求。外部中断可用于检测单片机外部发生的事件,如键盘敲击和特定脉冲发生的次数等。

关键字: 51单片机 外部中断

外部中断是单片机实时地处理外部事件的一种机制。具体指的是,当某种外部事件发生时,单片机的中断系统迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后,又返回被中断的程序处,继续执行下去。这里我们以Nuc...

关键字: MCU 外部中断 ST

STM32CubeMX是官方推荐的配置软件,而HAL库也是取代之前的库函数的通用库,所以STM32CubeMX+HAL库是当前主流的工程创建方式,HAL库的可移植性也高于被取代的库函数。 之前在[程序员小哈]的公众号中写...

关键字: LED 外部中断

ST公司的STM8AF5286是用于汽车的8位MCU,配置了多达128KB闪存,数据EEPROM,10位ADC,计时器,LIN,CAN,USART,SPI,I2C等接口,工作电压3-5.5V,

关键字: st stm8

你知道STM8 Nucleo开发板吗?意法半导体新推出的两款STM8* Nucleo开发板,让8位开发社区也能体验到STM32 * Nucleo系列开发板久经验证的易用性和可扩展功能。

关键字: Nucleo stm8 意法

1.ARM中一些常见英文缩写解释 MSB:最高有效位; LSB:最低有效位; AHB:先进的高性能总线; VPB:连接片内外设功能的VLSI外设总线; EMC:外部存储器控制器; MAM:存储器加速模块; VIC:向量中...

关键字: ARM THUMB I2C 外部中断

简单地说,单片机就是一个小计算机系统。为了说明清楚这个问题,得要从计算机说起。提到计算机,大家可能马上会想到“显示器、鼠标、键盘”,不过,这不是一个计算机的核心和关键,计算机的核心部分在一边的机箱里呢。打开机箱,可以看到...

关键字: iar keil 单片机编程软件

单片机编程软件是单片机开发不可缺少的工具,缺少单片机编程软件便如同回到原始社会。单片机编程软件目前使用较多的为keil单片机编程软件和IAR单片机编程软件。本文中,主要为大家讲解keil4与keil5的区别以及keil5...

关键字: iar keil 单片机编程软甲

对于单片机编程软件,小编个人较为推崇IAR。本文将基于3大方面介绍IAR单片机编程软件:一、IAR单片机编程软件开发环境界面设置,二、IAR单片机编程软件快捷键,三、IAR单片机编程软件使用小技巧。通过IAR单片机编程软...

关键字: iar 单片机编程软件 快捷键

目前,流通度较大的单片机编程软件为KEIL、IAR。其中,IAR单片机编程软件深受用户喜爱。初接触IAR单片机编程软件时,很多用户对其设置充满疑惑。故本文将对IAR单片机编程软件设置加以介绍,帮助大家掌握这款单片机编程软...

关键字: iar 单片机编程软件 设置
关闭
关闭