|
本次测评的第一个基础任务是GPIO测试:使用外部中断控制小灯点亮熄灭,实际上不管是外部中断还是小灯的亮灭控制,都是对GPIO的基本控制,一个是输入附带中断,一个就是纯纯的输出控制,这里我们将在上一个例程的基础上通过对STM32CubeMX对单片机进行配置然后实现这些功能,毕竟上一个历程中实际上并没有对任何控制引脚进行配置,只不过有最基础的一些系统配置,保证芯片可以运行起来。6 C' R4 r+ ?4 g( V7 o 我们看一下时钟的配置:
目前已经配置为最大的48MHz的系统时钟,使用的是内部的振荡器,这里我们就不修改了,虽然板子上配备的高速外部时钟,对本次测试的影响不大。& O9 Q: G$ m* l' b8 l 首先看一下对应的灯的原理图:
本开发板上一共配备了2个可以自定义的LED,LD1是绿灯,可以通过PA5引脚进行控制,LD2是蓝灯,可以通过PC9进行控制,通过原理图进行分析,当PA5为高电平时LD1亮起,PC9为低电平时LD2亮起。 再看一下按键的原理图:2 Y+ v- B/ N& ]5 J8 [, l3 c( M
按键还是老样子,连接的是PC13引脚。% a0 y+ _# a& E7 D 接下来我们看一下STM32CubeMX中的配置:) n( Z% H% C3 s# `" A1 w3 I- A+ s 按键配置为外部中断:
并修改为下降沿触发:. x, j% {+ a& \5 N$ @$ v7 F
开启中断:+ H& t+ Q2 @' X% q7 x
LED的输出控制配置就比较简单了,配置为输出:
简单改一下配置让灯初始状态为灭的:1 \) B" `% Y* m6 H
另一个灯的控制引脚的处理是一样的。, n- [' m- T, q7 C" H- R0 ? 软件方面咱们主要写的就是外部中断的回调函数,这里注意一下,这次看到主要的中断是下降沿触发,对应的是HAL_GPIO_EXTI_Falling_Callback(GPIO_Pin);重写如下:! v- q% F5 T J; p
效果如下:( P) [; K: g0 l% ?; e$ |5 N
5 c; N7 Q5 a0 o 9 N+ m8 X' `* g/ n" u 0 [ z' Y) N2 E+ i' k( s 5 q% p) R: o; I. b" z# Z' i 3 H2 L& g9 r1 i* j9 Q4 v0 C$ r 0 [; q& a5 W# ^2 D9 q; E 6 a8 G, |% V$ [+ x* U; |3 `: g % c9 p+ w3 F# q. R- y |
【STM32C0评测】C071:USB的使用
【STM32C0评测】4、驱动Lorasx126x,实现透传
STM32C0 × HDSMART弘大智控解锁旋钮式智能控制器,开启人机交互新体验
基于编码器信号的PWM输出示例
【新品发布】STM32C0 三大子产品线齐发,精准适配价格敏感应用(文末有奖)
有奖直播 | 超性价比入门级MCU:STM32C0全新子产品线深度解读
【STM32C0测评】Nucleo-C092开发板驱动DS1302实验
【STM32峰会观看直播获奖】晒奖品
STM32C071RB外部中断控制小灯点亮熄灭
STM32C071RB实现串口收发功能
微信公众号
手机版