stm32f1xx_hal 是一个硬件抽象层(HAL)库,它为 STM32F1 系列微控制器提供了一组 Rust 接口。 这些接口抽象了底层硬件的细节,使得开发者可以更高效地编写代码。
cortex_m_rt 是一个实时操作系统(RTOS)库,它提供了一些用于在 Cortex-M 处理器上运行实时任务的基础设施。 cortex_m_rt 的主要作用是提供一种方式来定义和管理实时任务。 它还提供了一些用于处理中断和异常的工具。 这个库主要用于在 Cortex-M 处理器上运行的程序,如果你的嵌入式系统使用的是 Cortex-M 处理器,那么你可以使用这个库。
复位功能可以重启微控制器,恢复到初始状态。
STM32F1 的时钟控制(RCC)模块负责管理微控制器的时钟。 时钟控制功能可以配置微控制器的时钟源和时钟频率,这对于定时器和其他需要时钟的外设来说非常重要。
"Cortex-M 核心的外设"和"STM32F1 的外设"是两个不同级别的硬件资源。 Cortex-M 核心的外设是所有使用 Cortex-M 处理器的设备都有的,比如系统定时器。 STM32F1 的外设是 STM32F1 微控制器特有的,比如 GPIO 端口和 RCC 模块。 这两者需要分开引入,因为它们属于不同的硬件级别。
FLASH 控制器用于管理微控制器的 FLASH 存储器。 将 FLASH 控制器放入受限状态是为了防止在配置过程中发生错误,比如在 FLASH 写入过程中意外地改变了其他设置。
PIOC 是 STM32F1 微控制器的一个 GPIO(General Purpose Input/Output,通用输入输出)端口。STM32F1 有多个 GPIO 端口,每个端口有多个引脚,可以配置为输入或输出。
"推挽输出"是一种电路配置,它可以使引脚输出高电平或低电平。当配置为推挽输出时,引脚可以被驱动为高电平(通过将引脚连接到电源),或者低电平(通过将引脚连接到地)。
Hz(赫兹)是频率的单位,1Hz 表示每秒钟发生一次。所以,如果定时器的频率为 1Hz,那么它每秒钟会产生一次中断。如果你想让定时器每 500 毫秒产生一次中断,那么你应该将定时器的频率设置为 2Hz。