本文主要是介绍[嵌入式软件][入门篇][仿真平台][STM32CubeMX] GPIO和PLL的介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、GPIO简介
- (1) IO类型和功能
- (2) 内部上下拉
- 二、PLL简介
- (1)什么是锁相环
- (2)我们只需知道什么?
- 三、STM32CubeMX配置
- 四、HAL库的使用
- 五、示例代码
- 六、仿真效果(指示灯闪烁)
一、GPIO简介
GPIO是通用输入输出端口的简称,可以通过软件来控制输入和输出。
- STM32的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、 控制以及数据采集的功能。
- GPIO 最简单的应用还属点亮 LED 灯了,只需通过软件控制 GPIO 输出高低电平即可。当然GPIO还可以作为输入控制,比如在引脚上接入一个按键,通过电平的高低判断按键是否按下。
(1) IO类型和功能
- 通用输入/输出口用于芯片和外部进行数据传输,共有 4 组 GPIO:GPIOA、GPIOB、GPIOC 和GPIOD。
- 4 组 GPIO 的功能基本相同,可以通过配置将 GPIO 映射到对应芯片引脚,每个引脚可以被独立配置为数字输入或者输出口,也可以被配置为模拟输入(ADC)。
3.外部中断、片上外设输入/输出等复用功能。同一时刻一个引脚仅可被映射一个复用功能,通过端口复用功能寄存器(GPIOx_AFR)配置。
(2) 内部上下拉
- 每个端口都可以配置成内部上拉(pull up)/下拉(pull down)的输入/输出,高阻输入(floating input),推挽输出(push-pull output),开漏输出(open drain output),增强驱动能力输出。
- 芯片复位后端口复位为高阻输入,目的是防止芯片在异常复位时,导致外部器件产生异常动作。
- 为了避免高阻输入而产生的漏电,用户要在芯片启动之后对端口进行相应配置(配置成内部拉高输入或者输出)。
- 端口被配成模拟端口后,数字功能被隔离,不能输出数字“1”和“0” ,CPU 读取端口的结果为“0” 。
- 所有端口都可以提供外部中断, 并且每个中断都可以配置成高电平触发、 低电平触发、 上升沿触发、下降沿触发或者任意边沿触发,支持边沿模式下的输入消抖。支持在工作模式/睡眠模式/深度睡眠模式下产生中断。
二、PLL简介
中文直译:锁相环倍频输出
锁相环 (Phase-Locked Loop) 在现代电子与通信系统中, 扮演着至关重要的角色. 凭借其独特的同步和频率调整能力, 锁相环已成为实现高性能, 高稳定性系统的基石
(1)什么是锁相环
- 锁相环是一种闭环反馈控制系统. 用于生成与输入信号同步且相位相同的输出信号.
- 它的核心功能是在输入信号的相位变化时, 自动调整输出信号以保持同步.
- 这使得锁相环成为了一种理想的频率和相位控制技术.
(2)我们只需知道什么?
- 系统时钟生成: STM32 通常使用锁相环从外部晶振或内部时钟源生成所需的时钟.
例如: 通过使用 PLL, 可以将外部 8 MHz 晶振提升到 72 MHz 或更高, 以满足高性能应用的需求 - USB 时钟生成: 在具有 USB 功能的 STM32 微控制器中, 锁相环可以用于生成精确的 48 MHz 时钟, 以满足 USB 2.0 全速 (12 Mbps) 或高速 (480 Mbps) 通信的要求
- 音频时钟生成: 在音频处理器应用中, STM32 微控制器的锁相环可以用于生成特定的硬盘采样率 (如 44.1 kHz, 48 kHz 等) 以及 I2S 和 SPDIF 接口所需的位时钟和帧时钟
- ADC 和 DAC 时钟生成: 在高速数据采集和信号处理应用中, 所喜爱你该换可以用于为 ADC 和 DAC 提供精确的采样时钟, 从而实现高性能的数据转换
三、STM32CubeMX配置
我们按照仿真平台的电路,在软件中配置引脚。
四、HAL库的使用
todo
五、示例代码
大家可以回顾启蒙课。
todo
六、仿真效果(指示灯闪烁)
这篇关于[嵌入式软件][入门篇][仿真平台][STM32CubeMX] GPIO和PLL的介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!