在上一篇点灯中,已经可以驱动开发板上的用户LED灯了。除了LED灯,开发板上还提供了一个用户按键,在开发板出厂自带的固件中,就可以使用这个按键来控制led灯闪烁的频率。
接下来我们就自行实现一个更简单的,通过按键控制LED点亮和熄灭的功能。
如果需要使用按键,之类可以使用STM8的外部中断实现。
拷贝外部中断实例中的所有文件。
在模板工程总粘贴,覆盖原来的同名文件。
看开发板原理图,按键是连接到SOP8的7号管脚的。LED灯连接到了SOP8的5号管脚。
对于STM8S001来说,按键对应的PC3。LED对应PA3。
修改main.h中对于LED和Button的定义,改为开发板所使用的PORT和PIN,注释掉未使用的IO口。
在main.c中修改GPIO配置函数,配置LED和Button。
修改man函数中的中断配置。
修改stm8s_it.c中的TLI中断服务函数,注释掉led等的翻转函数。
修改PORTB中断处理函数为空,在PORTC中断处理函数中增加判断按键并翻转LED灯的代码。
此时在开发板上按动按键,可以控制LED的电量和熄灭了。
总结:STM8相对于STM32来说,内核架构简单,偏上设备使用起来也更简单,只需要简单的几行代码,就可以驱动按键和LED了,结合STM8的价格优势,非常适合应用在对于性能要求不高的简单控制场合使用。本文转载于【STM8-SO8-DISCO】4外部中断
http://www.stmcu.org.cn/module/forum/thread-619213-1-1.html
|