This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TM4C123GH6PM:错误#249函数"CMD_Help"已经被定义。

Guru**** 2455360 points
Other Parts Discussed in Thread: TM4C123GH6PM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/635613/ccs-tm4c123gh6pm-error-249-function-cmd_help-has-already-been-defined

器件型号:TM4C123GH6PM

工具/软件:Code Composer Studio

你(们)好

我想使用 ZigBee Wi-Fi 模块将数据从 TM4C123GH6PM 传输到手机。 但是、在 CCS 中编译代码、我遇到3个错误(所有错误都是相似的)函数已定义。

 

cmd.c 代码

//
//版权所有(c) 2012-2013 Texas Instruments Incorporated。 保留所有权利。
//软件许可协议
//
//德州仪器(TI)提供此软件仅供
和//仅供 TI 的微控制器产品使用。 软件归
// TI 和/或其供应商所有,并受适用的版权
//法律保护。 您不能将此软件与"病毒"开源
//软件组合在一起以形成更大的程序。
//
//此软件按“原样”提供,且存在所有故障。
//对于

本软件,不作任何明示、暗示或法定的保证,包括但不限于对适销性和适用性的暗示保证//特定用途。 在任何
//情况下、TI 不对任何
原因造成的特殊、意外或必然//损害负责。
//
//这是 EK-TM4C123GXL 固件包修订版1.0的一部分。
////
*****************

#include 
#include 
#include "main.h"
#include "inc/hw_types.h"
#include "utils/ustdlib.h"
#include "utils/uartstdio.h"
#include "utils/cmdline.h"
#include "cmd.h"

//*********
//
///有效命令字符串、回调函数和帮助消息的表。 此
//由 cmdline 模块使用。
////
*****************
/*tCmdLineEntry g_psCmdTable[]=
{
{"帮助"、 CMD_Help、 ":显示命令列表"},
{"SetAngle"、 CMD_SetServoAngle、 ":设置伺服角度"},
{"CloseConnection"、 CMD_QuitProcess、 “:关闭连接”},
{0、0、0}
};
*/
/*********
//
//命令:帮助
//
//打印所有命令的帮助字符串。
////
*****************
int CMD_help (int argc、char **argv)
{
int32_t i32Index;
(无效) argc;
(无效) argv;
i32Index = 0;
UARTprintf ("命令列表\n");
while (g_psCmdTable[i32Index].pcCmd)
{
UARTprintf ("%17s %s\n"、g_psCmdTable[i32Index].pcCmd、
g_psCmdlTable[i32Index].pcHelp);
i32Index++;
}
UARTprintf ("\n");
return (0);
}

int CMD_SetServoAngle (int argc、char ** argv)
{
uint32_t tooAngle;

if (argc =2)
{
ServoAngle = usterServl (argv[1]、0、10);
SetServoAngle (ServoAngle);
}
return 0;
}

int CMD_QuitProcess (int argc、char **argv)
{
QuitProcess ();
return 0;
}

cmd.h 文件

//
//版权所有(c) 2012-2013 Texas Instruments Incorporated。 保留所有权利。
//软件许可协议
//
//德州仪器(TI)提供此软件仅供
和//仅供 TI 的微控制器产品使用。 软件归
// TI 和/或其供应商所有,并受适用的版权
//法律保护。 您不能将此软件与"病毒"开源
//软件组合在一起以形成更大的程序。
//
//此软件按“原样”提供,且存在所有故障。
//对于

本软件,不作任何明示、暗示或法定的保证,包括但不限于对适销性和适用性的暗示保证//特定用途。 在任何
//情况下、TI 不对任何
原因造成的特殊、意外或必然//损害负责。
//
//这是 EK-TM4C123GXL 固件包修订版1.0的一部分。
////
*****************

#ifndef __RGB_commands_H__
#define __RGB_commands_H__

//*********
//
//为作为
// TivaWare 标准部分提供的命令行参数解析器定义。 QS-RGB 应用使用命令行解析器将
//功能扩展到串行端口。
////
*****************

#define CMDLINE_MAX_args 3

//*********
//
//实现命令行
//功能的回调函数声明。 在
命令行中键入相应的命令时,命令行解释器//会调用这些函数。
////
*****************
extern int CMD_help (int argc、char **argv);
extern int CMD_SetServoAngle (int argc、char **argv);
extern int CMD_QuitProcess (int argc、char **argv);
#endif 

下面我要附上控制台窗口的屏幕截图。

我们非常感谢您的任何帮助。  

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗯、你已经在某个地方定义了这些。 您可能需要让编译器输出预处理代码以查看其中的位置。

    这一行

    [引用用户="Himanshu Goswami]#include "main.h"

    肯定是奇数。 不一定是错的,但很奇怪。 在代码审查中、我可能坚持重写。

    Robert

    BTW PC-Lint 可能会导致问题的根源。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    实际上、这些错误消息是非常清楚的。 可能会建议"愿望与能力/经验"之间存在"不匹配"。

    PC-Lint 不太可能有"大裂"海报的雷达... (但正如您经常注意到的那样、这种帮助可能非常有用、但供应商很少"推广这种方式。。。"