找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1259|回复: 8
打印 上一主题 下一主题
收起左侧

求思路,STM32中断程序

[复制链接]
跳转到指定楼层
楼主
ID:933089 发表于 2021-11-11 19:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于stm32F103R6的流水灯,实现功能:按下按键1,led灯左循环依次点亮,按下按键2,led灯右循环依次点亮,要求用中断实现。
中断响应应该怎么设置?或者说应该读取到什么东西来执行中断。需不需要加systick定时器中断?
求思路
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:908826 发表于 2021-11-12 08:55 | 只看该作者
我觉得是要用外部中断,在中断子程序里面定义标志位,实现两种流水灯的触发
回复

使用道具 举报

板凳
ID:592807 发表于 2021-11-12 08:58 | 只看该作者
这么简单的功能在while循环就好了,要什么中断。用一个标志位控制控制循环方向,按键改变标志位量
回复

使用道具 举报

地板
ID:514901 发表于 2021-11-12 09:08 | 只看该作者
外部中断控制标志位的改变,主循环中根据标志位控制LED等左移或者右移,程序太简单,用延时就行,可以不用定时器
回复

使用道具 举报

5#
ID:971289 发表于 2021-11-12 10:21 | 只看该作者
设定两个外部中断,然后对应两个按键。由于您这个程序比较简单,可以直接在中断服务函数中直接操作LED流水灯,也可以设定两个标志位,然后在mian的while中轮训读取标志位,再执行LED流水灯。
或者while直接扫键keyscan的方式直接读取按键做LED流水灯。
回复

使用道具 举报

6#
ID:933089 发表于 2021-11-14 14:56 | 只看该作者
13205495918 发表于 2021-11-12 08:55
我觉得是要用外部中断,在中断子程序里面定义标志位,实现两种流水灯的触发

能具体说标志位定义在哪吗?
回复

使用道具 举报

7#
ID:933089 发表于 2021-11-14 14:59 | 只看该作者
电工小明 发表于 2021-11-12 10:21
设定两个外部中断,然后对应两个按键。由于您这个程序比较简单,可以直接在中断服务函数中直接操作LED流水 ...

这样可以在左循环流水灯还没结束时,按下按键,进行右循环流水灯吗?如果可以,能具体说下标志位或者while循环怎么用吗
回复

使用道具 举报

8#
ID:933089 发表于 2021-11-23 12:09 | 只看该作者
感谢大家,问题已经解决了,把PA8引脚设置为标志位,PA0~7为流水灯,读取到PA8发生变化,结束右循环,进行左循环
回复

使用道具 举报

9#
ID:983815 发表于 2021-11-23 13:39 | 只看该作者
外部中断,判断是否低电平。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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