[mw_shl_code=c,true]在原子哥的enc28j60例程的httpd.c文件中有如下代码
extern unsigned char data_index_html[]; //在httpd-fsdata.c里面被定义,用于存放html网页源代码
extern void get_temperature(u8 *temp); //在main函数实现,用于获取温度字符串
extern void get_time(u8 *time); //在main函数实现,用于获取时间字符串
const u8 * LED0_ON_PIC_ADDR="/data/attachment/forum/2012/9/27/ad65ee9f478ca11241933beed5b5dbcc_971.gif"; //LED0亮,图标地址
const u8 * LED1_ON_PIC_ADDR="/data/attachment/forum/2012/9/27/bab5bef0379dc50129202157c2739c57_775.gif"; //LED1亮,图标地址
const u8 * LED_OFF_PIC_ADDR="/data/attachment/forum/2012/9/27/ccecf4ebeb84b095545b8feb0cecc671_254.gif"; //LED灭,图标地址
//处理HTTP输入数据
static PT_THREAD(handle_input(struct httpd_state *s))
{
char *strx;
u8 dbuf[17];
PSOCK_BEGIN(&s->sin);
PSOCK_READTO(&s->sin, ISO_space);
if(strncmp(s->inputbuf, http_get, 4)!=0)PSOCK_CLOSE_EXIT(&s->sin); //比较客户端浏览器输入的指令是否是申请WEB指令 “GET ”
PSOCK_READTO(&s->sin, ISO_space); //" "
if(s->inputbuf[0] != ISO_slash)PSOCK_CLOSE_EXIT(&s->sin); //判断第一个(去掉IP地址之后)数据,是否是"/"
if(s->inputbuf[1] == ISO_space||s->inputbuf[1] == '?') //第二个数据是空格/问号
{
if(s->inputbuf[1]=='?'&&s->inputbuf[6]==0x31)//LED1
{
LED0=!LED0;
strx=strstr((const char*)(data_index_html+13),"LED0状态");
那么问题来了···
在整个例程中只声明了data_index_html[]这个数组,然后定义在httpd-fsdata.c这个文件中,但是httpd-fsdata.c这个文件并没有加入工程里编译,
为什么在PT_THREAD中能直接使用?它们是通过什么联系起来的?望前辈指点一下啊!!!在此先谢过了  [/mw_shl_code]
|