搜索
查看: 1533|回复: 2

[原创] 【STM8-SO8-DISCO】——4、外部中断

[复制链接]
  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
    发表于 2019-2-19 01:00:55 | 显示全部楼层 |阅读模式
    本帖最后由 toofree 于 2019-2-19 01:16 编辑

    【STM8-SO8-DISCO】——4、外部中断


      本贴所用工程模板参考,
    【STM8-SO8-DISCO】——2、简单粗暴建工程模板https://www.stmcu.org.cn/module/f ... 9341&fromuid=307297
    (出处: 意法半导体STM32/STM8技术社区)


      由原理图可知,按键B1为高电平有效。当B1按下时,触发上升沿中断。(当然也可以释放按键操作,来触发下降沿中断) 01.jpg

      复制样例程序“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\EXTI\EXTI_InterruptPriority”下的全部文件。
    02.jpg

      工程模板文件夹改名为“STM8S_StdPeriph_EXTI”。并将上一步复制的6个文件粘贴到工程模板文件夹下,并替换同名文件。
    03.jpg

      修改“main.h”文件中的宏定义,添加按键和LED宏定义。
    11.jpg

      修改“main.c”文件。初始化LED为输出,按键为浮空中断方式“GPIO_MODE_IN_FL_IT”;初始化外部中断“EXTI_PORT_GPIOC”;开启中断。
    12.jpg

      修改“stm8s_it.c”文件。找到“EXTI_PORTC_IRQHandler”对应的中断服务函数,添加中断判断,满足条件时执行LED输出状态翻转。
    13.jpg

      编译,下载程序,并全速运行。
      实验现象为,每按一次用户按键B1,LD1的状态翻转一次。


      附上程序工程:
    STM8S_StdPeriph_EXTI.rar (259.09 KB, 下载次数: 15)
    回复

    使用道具 举报

    该用户从未签到

    6

    主题

    1029

    帖子

    133

    蝴蝶豆

    金牌会员

    最后登录
    2021-4-24
    发表于 2019-2-19 11:22:06 | 显示全部楼层
    好好好
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    29

    帖子

    0

    蝴蝶豆

    初级会员

    最后登录
    2021-11-4
    发表于 2019-3-18 22:38:03 | 显示全部楼层
    谢谢分享呀
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-28 12:35 , Processed in 1.166181 second(s), 35 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表