STM8-SO8-DISCO开发板上配置了一个用户按键和一个用户LED,相对配置外部中断,代码相对简单精练,不需要花太多的时间去研究那么函数和代码。
我们用上篇建立的工程模板来继续完成这个工程:1、进到en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template目录下,全选文件复制;在en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\下创建GPIO文件夹,把复制的文件粘贴到GPIO文件下,保存上次创建的工程。
2、首先从en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\EXTI\EXTI_InterruptPriority复制全部的文件到en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template下,覆盖原来的全部文件。
3、进入en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template\EWSTM8目录下双击Project.eww,在IAR中打开工程文件,在工程上右键点击,选择Clean,清除上次的编译记录。
3、打开main.h文件,修改GPIO端口配置,从官方的原理图上可得知,PA3引脚控制LED,PC3引脚连接按键,故做如下修改:
4、打开main.c文件,修改LED输出以及按键中断配置,PC3按键设置成浮空输入,利用下降沿中断。
5、打开stm82_it.c文件,添加延时函数用于按键防抖;并在PORTC中断处理函数下增加按键和转灯的配置代码:
6、编译成功,下载运行。
7、运行效果:
本文转载于STM8-SO8-DISCO之第二个工程外部中断
http://www.stmcu.org.cn/module/forum/thread-619364-1-1.html
|