我正在尝试借助在线资源来学习嵌入式系统,但我发现这非常困难。我对如何使用自动生成的 API 有一些疑问?我在 stm32cubeIDE 上使用 nucleo-f446re 开发板。在经历了很多在线讲座之后,例如我能够理解,如果我必须初始化一个 GPIO 引脚,我必须使用以下代码序列,如下所示:
int main(void)
{
HAL_Init();
SystemClockConfig();
GPIO_Init(); // High Level GPIO Initialization
while(1);
return 0;
}
void GPIO_Init(void)
{
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitTypeDef ledgpio;
ledgpio.Pin = GPIO_PIN_5;
ledgpio.Mode = GPIO_MODE_OUTPUT_PP;
ledgpio.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA,&ledgpio);
}
void SystemClockConfig(void)
{
}
Run Code Online (Sandbox Code Playgroud)
如GPIO_Init函数所示,使用了一系列API和Handler函数。我的问题是我应该继续记住使用的 API 和处理程序的顺序,并为其他外设(如定时器、Uart、CAN、PWM 等)做类似的事情,还是有其他方法?另外,如果我使用其他一些微控制器,用于上述同一事物的 API 的顺序是否会相似或有很大不同?请指导。