GPIO_SetBits 函数报错
大家好,我正在写个LED的闪烁工具,在使用“GPIO_SetBits(GPIOA, GPIO_PIN_8);”编译时出现如下错误,请大神指教:led22\led22.axf: Error: L6218E: Undefined symbol GPIO_ResetBits (referred from main.o).
gpio 初始化没有问题:
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOF_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
|GPIO_PIN_12|led1_Pin|led2_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : PA8 PA9 PA10 PA11
PA12 led1_Pin led2_Pin */
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
|GPIO_PIN_12|led1_Pin|led2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
工具:
IDE-Version:
μVision V5.20.0.
License Information:
amba AutoBVT
Microsoft
LIC=----
Tool Version Numbers:
Toolchain: MDK-LiteVersion: 5.20
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 2 (build 183)
Assembler: Armasm.exe V5.06 update 2 (build 183)
Linker/Locator: ArmLink.exe V5.06 update 2 (build 183)
Library Manager: ArmAr.exe V5.06 update 2 (build 183)
Hex Converter: FromElf.exe V5.06 update 2 (build 183)
CPU DLL: SARMCM3.DLL V5.20
Dialog DLL: DARMCM1.DLL V1.14.0.0
Target DLL: NULink\Nu_Link.dll V1.31
Dialog DLL: TARMCM1.DLL V1.10.0.0
应该是没有包含xxxx_gpio.h头文件 库函数调用错误。
从你初始化代码来看,工程中使用的是HAL库,而GPIO_SetBits()这个函数是源自的标准库的。
例如IO口输出电平设置:
标准库 : GPIO_SetBits(GPIOA, GPIO_Pin_8);
HAL库 :HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET);
建议你移植的时候,统一使用一个官方库。
页:
[1]