本帖最后由 如意不如意 于 2020-6-29 08:52 编辑
一、实验目的
使用micropython设置iCore3的GPIO外部中断。
二、实验设备及平台
- iCore3双核心板点击购买
- Micro USB线
- 电脑
三、实验原理
本次设置GPIO(PH15)为外部中断IO口,按键的一端与STM32的GPIO(PH15)相连,另一端接地,当按键按下时,PH15被短接到GND,呈低电平。示意图如下图所示:
四、实验步骤
- 用数据线将iCore3的USB-OTG口与电脑相连;
- 打开PYBFLASH磁盘,将代码包中的main.py文件替换到PYBFLASH的main.py;
- 弹出磁盘,将iCore3重新上电,代码运行;
五、实验现象
iCore3双核心板上ARM-KEY按下一次,蓝灯状态翻转一次(亮灭状态变化)。
六、实验程序
# -*- coding: utf-8-*-
# main.py -- put your code here!
from pyb import Pin #导入引脚
from pyb import ExtInt #导入中断
#外部中断服务函数
def ExtCallback():
pyb.LED(3).toggle() #蓝色LED灯状态翻转
#创建引脚PH15外部中断
ext = ExtInt(Pin('H15'), ExtInt.IRQ_FALLING, Pin.PULL_UP, lambda e:ExtCallback() ) #定义按键回调
|