通过本节可以学习到:
- 如何通过STM32CubeMX建立一个单片机工程
- 如果是仿真下载需要注意些什么
- 怎么通过HAL库使用外设功能
软件环境:
STM32CubeMX version6.10.0
Keil_v5(MDK-ARM) version 5.32
硬件环境:
STM32F103C8T6最小系统板(所有STM32通用下文操作)
关于推挽输出
推挽输出是一种常见的GPIO输出模式,在单片机系统中发挥着重要作用。通过控制输出引脚的电平可以控制外部设备的状态,主要用于控制数字信号的接口。在推挽输出模式下,输出引脚可以输出两种电平状态:高电平和低电平。因此推挽输出适用于需要控制外部设备开关、驱动电机或控制其他数字电路的应用场景。
比如推挽输出在单片机系统中可以起到以下作用:
-
驱动LED灯:推挽输出常用于控制LED灯的亮灭状态。通过控制输出引脚的电平,可以轻松实现LED的点亮和熄灭。
-
驱动蜂鸣器:对于需要发出声音信号的应用,推挽输出可以用来控制蜂鸣器的振动频率和时长,实现声音的输出。
-
控制继电器:推挽输出可以控制继电器的开关状态,用于控制高电流或高电压的设备,如电机、电磁阀等。
-
驱动数码管:在数字显示领域,推挽输出可用于控制数码管的显示内容,实现数字或字符的显示。
-
控制电机:推挽输出可以连接到电机驱动器,控制电机的转向、转速和停止。
总之,推挽输出在单片机系统中扮演着控制外部设备的重要角色,能够驱动诸如LED、蜂鸣器、继电器、数码管、电机等多种外设,实现各种实际应用场景下的控制和操作。
1、通过CubeMX完成外设初始化
2、通过Keil调用外设功能
3、单片机效果演示
为了使效果更加明显,我增加了电平翻转,protues8.15仿真STM32单片机不能使外部晶振起振所以如果才用仿真实验,需要在CubeMX失能(关闭)外部晶振HSE和LSE。
HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);