STMCU小助手
发布时间:2022-4-7 16:58
|
实验内容:通过按键触发外部中断,LED灯电平翻转。 1 d) ~& E' W) E3 @- Y; n 一、原理图
二、 CubeMX配置 Step1.打开 STM32CubeMX,点击“New Project”,选择芯片型号,STM32F103VETx。4 g4 g8 ~7 l2 \( T% N' Z1 v / k! G, p1 o: c& u2 M9 h
- s4 R! S H4 i" T& v. X Step2.选择时钟源,并配置时钟树。选择Crystal/Ceramic Resonator,并配置系统时钟为72M。0 y1 _' E- `( A% C$ E + n! q. Q) `4 N* `& X; m
+ o/ P( w# y P: t Step3.配置SYS,我们这里选择的是Serial Wire。(正常情况配置不配置不影响,debug可以使用。但是你不可以把这两个引脚用于其他复用功能,如果用于其他复用功能,debug就不起作用了。)
Step4. 通过搜索框添加我们需要使用的IO口进行简单的配置。然后根据以下步骤到相应栏中进行具体信息配置,主要配置按键引脚PA0为外部中断,上升沿触发,既不上拉也不下拉;PB0为推挽输出,既不上拉也不下拉,低速,默认输出高电平。同时使能外部中断源。
到这里关于相关配置基本已经完成,只需要根据之前文章《STM32Cube HAL:GPIO输入/输出(一)》Step4-Step8,设置相关工程参数和生成代码。 三、添加功能代码$ o+ \( Y1 @, ~* G& E0 o9 q6 o/ d' ^ 在main.c写入中断回调函数:
由于该实验较为简单,只需在配置完CubeMX以后写一个回调函数,就可以实现我们需要的功能。该实验旨在让我们了解配置外部中断的过程。 在使用中断回调函数的时候我们总能看到自带的回调函数用__weak修饰,这属于弱定义的形式。里面的注释“NOTE:…”描述是,“该函数不应被修改,如果需要回调,则可以在用户文件中实现。”也就是说,要在用户文件中重写该函数。 1 Y$ ]; h6 G# w5 D- L
1 B9 f/ n8 [! K* [8 `/ s3 r $ o; V' L9 b" x9 Y" ^- | |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版