微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > 全国物联网竞赛 CC3000 DEMO程序问题

全国物联网竞赛 CC3000 DEMO程序问题

时间:10-02 整理:3721RD 点击:

我是南京信息工程大学的学生,关于潘永华工程师在视频里的DEMO程序,我下载来后,编译出现多错误,不知道是为什么,请大神帮忙解答

我使用的是CCS V6和IAR for ARM

1、

代码197行:

#ifdef __CCS__

unsigned char pucCC3000_Rx_Buffer[CC3000_APP_BUFFER_SIZE + CC3000_RX_BUFFER_OVERHEAD_SIZE];

#elif __IAR_SYSTEMS_ICC__

__no_init unsigned char pucCC3000_Rx_Buffer[CC3000_APP_BUFFER_SIZE + CC3000_RX_BUFFER_OVERHEAD_SIZE];

#endif

这一段代码在CCS环境中提示错误:变量pucCC3000_RX_Buffer没有定义,相当于跳过了,我是用了TIvaware里的Examples的定义方法:

// Code Composer Studio pragmas.
//
#if defined(__CCS__) || defined(ccs)
uint8_t pucCC3000_Rx_Buffer[CC3000_APP_BUFFER_SIZE +
CC3000_RX_BUFFER_OVERHEAD_SIZE];

//
// IAR Codebench, aka ewarm pragmas.
//
#elif defined(__IAR_SYSTEMS_ICC__) || (ewarm)
__no_init uint8_t pucCC3000_Rx_Buffer[CC3000_APP_BUFFER_SIZE +
CC3000_RX_BUFFER_OVERHEAD_SIZE];

//
// Code Sourcery, GCC, and Keil all use the same pragmas.
//
#else
uint8_t g_pui8CC3000_Rx_Buffer[CC3000_APP_BUFFER_SIZE +
CC3000_RX_BUFFER_OVERHEAD_SIZE];
#endif

这样定义之后没有出现出错,char和unit8_t的定义区别是什么?我在前面更改了定义的类型,会不会对后面的pucCC3000_RX_Buffer造成影响?

2、Init_spi();

在潘永华工程师的initDriver(void);函数里,对spi的初始化没有给参数,也就是inti_spi();这样开发环境提示错误,提示too few arguments,请问这是因为什么?我按照官方的basic_wifi_application修改为init_spi(1000000,SysCtlClockGet());修改后没有错误。

3、在代码的1000行:

case UART_COMMAND_CLOUD_START_TEST:
char testInfo[] = "Start Cloud demo show.....................\r\n";
DispatcherUartSendPacket(testInfo, sizeof(testInfo));

SetupSensorDataPointMessage();

这个case被提示错误,

Description Resource Path Location Type
#1148 a declaration cannot have a label cc3000_basic_wifi_application.c /cc3000_basic_wifi_application line 1012 C/C++ Problem

按照网上的一些相似错误,我用{ }将case后的语句

char testInfo[] = "Start Cloud demo show.....................\r\n";
DispatcherUartSendPacket(testInfo, sizeof(testInfo)) 括了起来,

但是后面的所有DispatcherUartSendPacket()调用都提示错误!

4、在main函数部分

memset(g_ucUARTBuffer,0xFF,UART_IF_BUFFER);

uart_have_cmd=0;

开发环境在编译后提示没有indeification,代码中确实没有

g_ucUARTBuffer,UART_IF_BUFFER以及uart_have_cmd的定义,请问是为什么呢?如果我自己定义的话该怎么修改呢?是定义什么类型的变量?

麻烦大神帮帮忙,尤其是第四个问题,我换了IAR和CCS V5还是出现同样的问题,我找不到包含这些定义的头文件。马上就要比赛了,真的很急。

其实这个例程和原始SDK里面的程序的差别很小,你只需要借鉴basic wifi application里面发送命令的那一段代码就好了。

其它的程序部分你还是用原始的SDK里面的就好了。

你的IAR和CCS可以编译原始的SDK 吗?

谢谢您的回答,我的IAR和CCS都可以编译和DEBUG原始SDK中的程序,但是替换后后的MAIN函数中,也就是第四个问题,是出现在链接阶段,编译可以通过。

如果我替换的话,main函数中需要替换吗?SDK中没有解释是//Initialize the UART RXBuffer的这一段程序,不知道和YEELINK连接部分有没有关系?

改动只是需要UART_COMMAND_DEVICE_CREATE和UART_COMMAND_CLOUD_START_TEST和UART_COMMAND_SENSOR_CREATE里面的内容就够了。

我的意思就是你在这几条命令里面加上改动的部分就好了。

还是麻烦一下您,有没有新版本的basic wifi application呢? 另外,可否加以下您的QQ好友,或者其他联系方式呢?我的QQ是714765657,微信号:dreamibor,我是我们小组的队长,对这次比赛非常认真,我们小组基础薄弱,但我们很上进,遇到这些困难,我们想请教您,麻烦了。

您好,谢谢您昨天的解答,之前的问题我都解决了,是因为我使用的库文件版本高了。

现在已经下载到板子上了,但是还是有个问题,就是提示SMARTCONFIG DONE之后没有IP地址出现,不能继续后面的操作,请问这是为什么呢?需要作什么来解决?

这个要分两部分来看

1. 去路由器那里看一下WIFI的客户端里面有没有CC3000

2. 去路由器那里看一下DHCP的客户端里面有没有CC3000

如果第一个有,那说明WIFI已经连上了,只是DHCP没拿到IP,如果第一个都没有,那你告诉我你用的什么路由器和手机。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top