STM32标准库转HAL库
虽说现在STM32主流是HAL库,但毕竟标准库存在那么多年,很多遗留下来的代码都是标准库的
我最近买的一个LCD显示屏,商家给的例程就是标准库的,我需要把它移植到使用HAL库的代码中
我先根据实际使用的引脚,修改商家的例程,编译执行,保证执行无误
能够正常执行之后就可以开始修改代码移植了
下面是我移植的一些记录,没有涉及到中断什么的,还是比较简单的
/*改include*/
//将 #include "sys.h"; 改为 #include "main.h";
/*改delay*/
//删掉 #include "delay.h";
//将delay_ms(100); 改为 HAL_Delay(100);
/*改type*/
//将u8 u16 u32 分别批量替换为 uint8_t uint16_t uint32_t
/*改GPIO*/
//GPIO_InitTypeDef GPIO_InitStructure;
//RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
//GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_11;
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
//GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
//GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
//GPIO_Init(GPIOA, &GPIO_InitStructure);
//GPIO_SetBits(GPIOA,GPIO_Pin_7|GPIO_Pin_11);
//改为:
//GPIO_InitTypeDef GPIO_InitStruct = {0};
//__HAL_RCC_GPIOA_CLK_ENABLE();
//GPIO_InitStructure.Pin = GPIO_PIN_7|GPIO_PIN_11;
//GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
//GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_HIGH;
//GPIO_InitStructure.Pull = GPIO_PULLUP;
//HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
//HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7|GPIO_PIN_11, GPIO_PIN_SET);