
实验内容:通过按键触发外部中断,LED灯电平翻转。 一、原理图 ![]() 二、 CubeMX配置 Step1.打开 STM32CubeMX,点击“New Project”,选择芯片型号,STM32F103VETx。 ![]() Step2.选择时钟源,并配置时钟树。选择Crystal/Ceramic Resonator,并配置系统时钟为72M。 ![]() ![]() Step3.配置SYS,我们这里选择的是Serial Wire。(正常情况配置不配置不影响,debug可以使用。但是你不可以把这两个引脚用于其他复用功能,如果用于其他复用功能,debug就不起作用了。) ![]() Step4. 通过搜索框添加我们需要使用的IO口进行简单的配置。然后根据以下步骤到相应栏中进行具体信息配置,主要配置按键引脚PA0为外部中断,上升沿触发,既不上拉也不下拉;PB0为推挽输出,既不上拉也不下拉,低速,默认输出高电平。同时使能外部中断源。 ![]() ![]() ![]() ![]() 到这里关于相关配置基本已经完成,只需要根据之前文章《STM32Cube HAL:GPIO输入/输出(一)》Step4-Step8,设置相关工程参数和生成代码。 三、添加功能代码 在main.c写入中断回调函数:
由于该实验较为简单,只需在配置完CubeMX以后写一个回调函数,就可以实现我们需要的功能。该实验旨在让我们了解配置外部中断的过程。 在使用中断回调函数的时候我们总能看到自带的回调函数用__weak修饰,这属于弱定义的形式。里面的注释“NOTE:…”描述是,“该函数不应被修改,如果需要回调,则可以在用户文件中实现。”也就是说,要在用户文件中重写该函数。 ![]() |
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
实战经验 | Keil工程使用NEAI库的异常问题
STM32 ISP IQTune:真正零门槛的免费ISP调整软件
【经验分享】STM32 新建基于STM32F40x 固件库的MDK5 工程
意法半导体MCU双供应链策略,打消中国客户后顾之忧
2024意法半导体工业峰会:赋能智能电源和智能工业,构筑可持续未来
ST推出灵活、面向未来的智能电表通信解决方案,助力能源转型
意法半导体 x Qu-Bit Electronix:推动新一轮的数字声音合成革命
从STM32 MPU产品看嵌入式系统中微处理器的新变化