Other Parts Discussed in Thread: CC3100
主题中讨论的其他器件:TM4C123、 CC3100
工具/软件:Code Composer Studio
你好
我们正在开发一个项目、在该项目中、我们需要使用具有 TM4C123的 CC3100并以类似于下面键入的代码的方式访问数据库(摘自 TAustinX: UT.6.20x 嵌入式系统-塑造世界:EDX 上的多线程连接课程)
CC3100有 一个参考 user.h 的 simplelink.h 库。 我们应该修改 user.h 吗? 应该在哪里添加它? 它保存在项目中还是保存在 simplelink.h 文件中?
我们非常感谢您的帮助、
此外、如果我们连接到的网络需要用户名和密码、我们应该向代码中添加什么内容? 我们网络的安全性是 WPA2-企业。 在下面的示例中,路由器只需要一个密码。
谢谢
#define SSID_NAME "valvanoAP"//*要连接到*/ // 97的接入点名称
#define SEC_TYPE SL_SEC_TYPE_WPA // 98
#define PASSKEY "12345678"(#define PASSKEY //99
// 1)将德克萨斯州奥斯汀更改为您所在的城市 // 205
// 2)如果希望温度为 F // 206、则可以将公制更改为英制
#define 请求"Get /data/2.5/weather?q=Austin %20Texas
&APPID=1234567890abcdef1234567890abcdef&units=公制
HTTP/1.1\r\n 用户代理:Keil\r\n 主机:api.openweathermap.org\r\n
接受:*/*\r\n"//207
// 1)转到 openweathermap.org/appid // 208
// 2)在注册页上注册 // 209
// 3)获取 API 密钥(APPID)替换
1234567890abcdef1234567890abcdef 使用 APPID // 210
int main (void){int32_t RetVal; SlSecParams_t secParams; // 211
char *pConfig = NULL;Int32 ASize = 0;SlSockAddrIn_t Addr; // 212
initClk (); // PLL 50 MHz // 213
UART_Init(); //将数据发送到 PC,115200bps // 214
LED_Init(); //初始化 LaunchPad I/O // 215
UARTprintf ("天气应用"); // 216
RetVal = configureSimpleLinkToDefaultState (pConfig);//设置策略// 217
if (RetVal < 0) Crash (4000000); // 218
RetVal = sl_Start (0、pConfig、0); // 219
if ((RetVal < 0)||(Role_STA!= RetVal)) Crash (8000000); // 220
secParams.Key =密钥; // 221
secParams.KeyLen = strlen (密钥); // 222
secParams.Type = SEC_TYPE;// open、WPA 或 WEP // 223
sl_WlanConnect (SSID_NAME、strlen (SSID_NAME)、0、secParams、0); //224
while ((0 =(g_Status&Connected))||(0 =(g_Status&IP_ARequired))){ // 225
_slNonOsMainLoopTask(); // 226
} // 227
UARTprintf ("connected"); // 228
while (1){ // 229
strcpy (主机名、"openweathermap.org"); // 230
RetVal = sl_NetAppDnsGetHostByName (主机名、 // 231
strlen (主机名)、DestinationIP、sl_AF_iNet); // 232
if (RetVal = 0){ // 233
Addr.Sin_Family = SL_AF_iNet; // 234
ADDR.SIN_PORT = SL_Htons (80); // 235
addr.sin addr.s_addr = sl_Htonl (DestinationIP);// IP big endian // 236
ASize = sizeof (SlSockAddrIn_t); // 237
SockID = sl_Socket (sl_AF_iNet、sl_sock_stream、0); // 238
if (SockID >=0){ // 239
RetVal = sl_Connect (SockID、(SlSockAddr_t *)&Addr、ASize); // 240
} // 241.
if ((SockID >=0)&&(RetVal >=0)){ // 242
strcpy (SendBuff、request); // 243
sl_Send (SockID、SendBuff、strlen (SendBuff)、0);//发送 HTTP get// 244
SL_Recv (SockID、Recvbuff、MAX_RECV_buff、0);// Recv RESP // 245
sl_close (SockID); // 246
LED_GreenOn (); // 247
UARTprintf ("\r\n\r\n"); // 248
UARTprintf (Recvbuff); UARTprintf ("\r\n"); // 249
} // 250
} // 251
while (Board_Input ()=0){};//等待触摸 // 252
LED_Greenoff (); // 253
} // 254
} // 255
