请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1231H6PM Thread 中讨论的其他器件:EK-TM4C123GXL
工具/软件:TI C/C++编译器
您好!
在我添加"I2CMInit"函数之前、下面的代码编译良好:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include #include /////////////////////////////////////////////////////////////////////////////////////////#////////////////////////////////////////////#//////////////////////#///////////////////////////////////#/////////////////////////////////////////////// //我的 I2C 定义并包括 #include "driverlib/i2c.h" #include "driverlib/interrv.h" #include "inc/hw_i2c.h" #include "inc/hw_ints.h" #include "sensorlib/i2cm_drv.h" #include "sensorlib/mpu6050./// //////////// //我的 UART 定义并包括 #include "driverlib/uart.h" //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int main (void) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //我的 I2C 初始化代码 //启用包含 I2C 2的 GPIO 外设 SysCtlPeripheralEnable (SYSCTL_Periph_GPIOE); //启用 I2C 模块2 SysCtlPeripheralEnable (SYSCTL_Periph_I2C2); //为端口 E4和 E5上的 I2C2功能配置引脚多路复用。 GPIOPinConfigure (GPIO_PE4_I2C2SCL); GPIOPinConfigure (GPIO_PE5_I2C2SDA); //为这些引脚选择 I2C 功能。 GPIOPinTypeI2CSCL (GPIO_Porte _BASE、GPIO_PIN_4); GPIOPinTypeI2C (GPIO_Porte _BASE、GPIO_PIN_5); IntMasterEnable(); I2CMInit (&g_sI2CInst、I2C2_base、INT_I2C2、0xFF、0xFF、 SysCtlClockGet (); SysCtlDelay (SysCtlClockGet ()/ 3); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //我的 UART 初始化代码 SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz); SysCtlPeripheralEnable (SYSCTL_Periph_UART0); SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA); GPIOPinConfigure (GPIO_PA0_U0RX); GPIOPinConfigure (GPIO_PA1_U0TX); GPIOPinTypeUART (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1); UARTConfigSetExpClk (UART0_BASE、SysCtlClockGet ()、115200、(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); UARTCharPut (UART0_BASE、"U"); UARTCharPut (UART0_BASE、'A'); UARTCharPut (UART0_BASE、"R"); UARTCharPut (UART0_BASE、"T"); UARTCharPut (UART0_BASE、'); UARTCharPut (UART0_BASE、"W"); UARTCharPut (UART0_BASE、'o'); UARTCharPut (UART0_BASE、"r"); UARTCharPut (UART0_BASE、"k"); UARTCharPut (UART0_BASE、'S); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// volatile uint32_t ui32Load; volatile uint32_t ui32PWMClock; volatile uint8_t ui8Adcust; ui8Ad只是= 83; //此命令已用于设置 UART,因此被省略。 // SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHz); SysCtlPWMClockSet (SYSCTL_PWMDIV_64); SysCtlPeripheralEnable (SYSCTL_Periph_PWM1); SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD); SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF); GPIOPinTypePWM (GPIO_PORTD_BASE、GPIO_PIN_0); GPIOPinConfigure (GPIO_PD0_M1PWM0); HWREG (GPIO_PORTF_BASE + GPIO_LO_LOCK)= GPIO_LOCK_KEY; HWREG (GPIO_PORTF_BASE + GPIO_O_CR)|= 0x01; HWREG (GPIO_PORTF_BASE + GPIO_LO_LOCK)= 0; GPIODirModeSet (GPIO_PORTF_BASE、GPIO_PIN_4|GPIO_PIN_0、GPIO_DIR_MODE_IN); GPIOPadConfigSet (GPIO_PORTF_BASE、GPIO_PIN_4|GPIO_PIN_0、GPIO_Strength _2mA、GPIO_PIN_TYPE_STD_WPU); ui32PWMClock = SysCtlClockGet ()/64; ui32Load =(ui32PWMClock/PWM_FREQUENCY)- 1; PWMGenConfigure (PWM1_base、PWM_GEN_0、PWM_GEN_MODE_DOWN); PWMGenPeriodSet (PWM1_base、PWM_GEN_0、ui32Load); PWMPulseWidthSet (PWM1_base、PWM_OUT_0、ui8Adust * ui32Load / 1000); PWMOutputState (PWM1_base、PWM_OUT_0_bit、true); PWMGenEnable (PWM1_base、PWM_GEN_0); while (1) { //一堆谎言... } }
现在、失败、出现以下错误:
未解析符号 I2CMInit、首先在./main.obj PID C/C++问题中引用
我在论坛中搜索错误并找到此帖子-建议安装较旧版本的编译器:
在执行此操作之前,代码中是否有我可以更改的内容,以便使其与当前版本配合使用?
我正在使用 CCS 版本:7.1.0.00016和 TivaWare 2.1.4.178
