本帖最后由 zhdzhd-174422 于 2019-2-25 10:23 编辑 STM8-SO8-DISCO开发板上配置了一个用户按键和一个用户LED,相对配置外部中断,代码相对简单精练,不需要花太多的时间去研究那么函数和代码。 我们用上篇建立的工程模板来继续完成这个工程:1、进到en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template目录下,全选文件复制;在en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\下创建GPIO文件夹,把复制的文件粘贴到GPIO文件下,保存上次创建的工程。) ^: e3 c# R. a. s3 h$ s$ ~% L+ J 2、首先从en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\EXTI\EXTI_InterruptPriority复制全部的文件到en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template下,覆盖原来的全部文件。 + z# o" j5 t" h) A/ T3 o 3、进入en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template\EWSTM8目录下双击Project.eww,在IAR中打开工程文件,在工程上右键点击,选择Clean,清除上次的编译记录。9 f" N! {" H8 g1 j7 V 3、打开main.h文件,修改GPIO端口配置,从官方的原理图上可得知,PA3引脚控制LED,PC3引脚连接按键,故做如下修改: 3 u1 P! ^; d, a* C3 i 4、打开main.c文件,修改LED输出以及按键中断配置,PC3按键设置成浮空输入,利用下降沿中断。 5、打开stm82_it.c文件,添加延时函数用于按键防抖;并在PORTC中断处理函数下增加按键和转灯的配置代码:2 N; H" ]7 i- k) v" l, d5 z 6、编译成功,下载运行。 - P' I+ V" n e" X; J; R) k( Q$ g9 H 7、运行效果:& ]8 n$ c k* c" H8 x; T , V; T5 h1 e% L7 Y' Z$ O$ s |