• (3)STM32使用HAL库操作外部中断——实战操作


    一、Cube配置

    需求:使用PD10作为外部中断(下降沿触发)控制LED(PD12-PD14)

    1.选型

    STM32-F4-Discovery使用的是F407VGT6.

    2.使能时钟

    3.设置GPIO

    PD12-PD15对应4个LED,设置为输出

    使用PD10作为外部中断,于是PD10设置为GPIO_EXIT10

    4.根据F4-Discovery硬件配置时钟

    外部8MHz晶振,系统频率设置168(最大只能设置168,这个可随便设置)

    5.配置

    5.1首先配置GPIO的PD10(外部中断输入)

    5.2配置GPIO的PD12-PD15

    5.3配置NVIC

    由于只有这一个中断,所有优先级都设置为0

    6.最后生成工程就行了。

    二、Keil程序

    需求:外部中断触发,改变四个LED的状态。

    再说一遍中断执行顺序

    (1)PD10的中断服务函数

    (2)中断服务函数原型

    (3)中断处理函数

    (4)回调函数(用户在main.c中重写)

    while(1)就不要动了,目前用不到。

    编译,下载,齐活。

    最后再补充一点,中断初始化的问题,在mian.c的main()函数中只有下面几个初始化函数:

    那么中断的初始化去哪了呢?

    其实,中断初始化的代码被放置到GPIO初始化函数MX_GPIO_Init(void)里了:

  • 相关阅读:
    Python环境变量的配置
    关于selenium+python的googledirver和iedirver的配置
    jdk1.6环境变量配置
    windows server 2012R2安装激活码
    Git生成SSHKey
    Linux下配置和安装VNCServer远程服务
    Win7 64位硬盘安装Ubuntu 64位的细微配置
    apache tomcat 8.0 显示目录文件
    跨域登录
    jsonp 代码优化
  • 原文地址:https://www.cnblogs.com/wt88/p/9624103.html
Copyright © 2020-2023  润新知