雨田123123 发表于 2017-3-21 14:48:17

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




iuu 发表于 2017-3-25 18:32:43

应该是没有包含xxxx_gpio.h头文件

Dylan疾风闪电 发表于 2017-3-27 16:28:21

库函数调用错误。
从你初始化代码来看,工程中使用的是HAL库,而GPIO_SetBits()这个函数是源自的标准库的。

例如IO口输出电平设置:
标准库 : GPIO_SetBits(GPIOA, GPIO_Pin_8);
HAL库 :HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET);

建议你移植的时候,统一使用一个官方库。
页: [1]
查看完整版本: GPIO_SetBits 函数报错